5.5 | Behandlung von Exceptions |
Es gibt prinzipiell drei Möglichkeiten zur Behandlung von Exceptions:Falls weder eine lokale Fehlerbehandlung erfolgt noch eine throws-Klausel verwendet wird, liefert der Compiler eine entsprechende Fehlermeldung. Eine Ausnahme von dieser Regelung ist die RuntimeException und ihre Unterklassen. Für sie ist weder die lokale Behandlung mit catch noch die Angabe von throws zwingend erforderlich.
- Entweder werden die Anweisungen, die eine Exception auslösen können, in eine try-Anweisung eingefasst (mit optionalen catch-Anweisungen). Hierdurch erfolgt eine Fehlerbehandlung »vor Ort«.
- Alternativ kann auf eine lokale Fehlerbehandlung völlig verzichtet werden. In diesem Fall muss aber im Kopf der betreffenden Methode eine throws-Klausel angegeben werden. Die throws-Klausel wird im Abschnitt 5.8 behandelt. Durch eine throws-Klausel zeigt eine Methode an, dass sie eine bestimmte Exception nicht selbst behandelt, sondern diese stets an den übergeordneten Programmblock weiterleitet.
- Als Zwischenlösung kann eine Exception abgefangen und stattdessen eine andere ausgelöst werden, die in der throws-Klausel angegeben ist. Auf diese Technik wird im Abschnitt 5.12 näher eingegangen.