Folgendes Beispiel zeigt, wie Laufzeitfehler von JDBC
abgefangen und Informationen zum Fehler ausgegeben werden:
try {
// Hier JDBC-Aufrufe
...
} catch(SQLException e) {
do {
// Ausgabe von Fehlermeldung und Fehlercodes
System.out.println(e.getMessage());
System.out.println("ANSI-92 Code: "+e.getSQLState());
System.out.println("DB-Code: "+e.getErrorCode());
// Nächste Exception abrufen.
e = e.getNextException();
// Gibt es weitere Exceptions?
} while(e != null);
}
...
Treten mehrere Fehler bei der Ausführung auf, so werden mehrere
SQLException-Exemplare miteinander
verkettet. Über die Methode getNextException() kann
man jeweils das nächste SQLException-Exemplar
abrufen. Wurden alle abgerufen, liefert die Methode als Ergebnis null zurück.
Tabelle 18.2: Methoden der Klasse SQLException zur Fehlerabfrage
| Methode | Wert bei Treiber-Fehler | Wert bei DB-Fehler |
| String getMessage() | Fehlermeldung | Fehlermeldung |
| int getErrorCode() | DB-spezifischer Fehlercode | DB-spezifischer Fehlercode. |
| String getSQLState() | null (ohne Bedeutung) | 5-stelliger ANSI-92 SQL Status-Code als String. |