Java - Finden Sie den ersten Grund für eine Ausnahme

Brauche ich, um zu prüfen, ob eine Ausnahme wird verursacht durch ein Datenbank-problem. Ich erhalte eine Ausnahme, und überprüfen, ob die Ursache " enthält die "ORA" Zeichenfolge und zurück, (so etwas wie "ORA-00001"). Das problem hier ist, dass die exception die ich erhalte ist geschachtelt in anderen Ausnahmen, wenn ich also nicht herausfinden, wenn es eine oracle-exception, ich habe zu prüfen, in die Ursache für die exception und so weiter.
Gibt es eine bessere Möglichkeit, dies zu tun? Gibt es eine Möglichkeit zu wissen, die erste Ursache (die tief geschachtelte Ausnahme) von einer bestimmten Ausnahme?

Mein Aktueller code sieht wie folgt aus:

private String getErrorOracle(Throwable e){
        final String ORACLE = "ORA";
        if (e.getCause() != null && e.getCause().toString().contains(ORACLE)){
            return e.getCause().toString();
        } else if(e.getCause() != null){
            return getErrorOracle(e.getCause());
        } else {
            return null;
        }
    }

InformationsquelleAutor der Frage Averroes | 2009-11-24

Schreibe einen Kommentar