Exception Handling
= strukturierte Behandlung von Fehlern
- Begriffe:
- Exception = die eigentliche Ausnahme
- throwing = das Auslösen der Ausnahme
- catching =das Behandeln der Ausnahme (die eigentlichen Reaktion)
- Grundprinzip
- Eine Ausnahme wird durch einen Fehler ausgelöst
- Eigene Behandlung der Ausnahme oder Weitergabe
- Empfänger hat wieder die Wahl zwischen Behandlung und Weitergabe der Ausnahme
- Wird die Ausnahme nicht behandelt beendet das Programm und gibt den Fehler aus
- Optional wird mit finally aufgeräumt
try {
// Hier steht die kritische Anweisung
}
catch (Exception e) {
System.out.println("Fehler");
}
finally {
// Hier kann eine beliebige Anweisung stehen
}
- Fehlerklassen
- Laufzeitfehler sind Unterklassen der Klasse Throwable = allgemeine Fehlerklasse
- Unterhalb von Throwable gibt es zwei große Vererbungszweige, Errors und Exceptions
- Viele Java Pakete haben eigene Fehlerklassen
- Behandlung von Exceptions
- try catch - Anweisung
try {
// Hier steht die kritische Anweisung
}
catch (Exception e) {
System.err.println("Fehler");
}
- Fehlerobject fom Typ Throwable verwenden
try {
// Hier steht die kritische Anweisung
}
catch (Exception e) {
System.out.println("Fehler");
System.out.println("Ursache: " + e.getMessage());
e.printStackTrace();
}
- Weitergabe der Anweisung / Exception
public void testMethoden() throws Exception {
try {
// Hier steht die kritische Anweisung
}
catch (Exception e) {
System.out.println("Fehler");
throw e;
}
}