39 Stimmen

Java - die erste Ursache einer Ausnahme finden

Ich muss prüfen, ob eine Ausnahme durch ein Datenbankproblem verursacht wird. Ich empfange eine Exception und prüfe, ob ihre Ursache die Zeichenfolge "ORA" enthält und gebe diese zurück (etwa "ORA-00001"). Das Problem dabei ist, dass die Ausnahme, die ich erhalte, in anderen Ausnahmen verschachtelt ist. Wenn ich also nicht herausfinde, ob es sich um eine Oracle-Ausnahme handelt, muss ich die Ursache dieser Ausnahme überprüfen und so weiter. Gibt es eine sauberere Methode, dies zu tun? Gibt es eine Möglichkeit, die erste Ursache (die tief verschachtelte Ausnahme) einer bestimmten Ausnahme zu ermitteln?

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;
        }
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X