9.1 Grundlagen und Begriffe
Mit den Exceptions besitzt Java einen Mechanismus zur strukturierten
Behandlung von Fehlern, die während der Programmausführung
auftreten. Tritt etwa ein Laufzeitfehler auf,
weil ein Array-Zugriff außerhalb der definierten Grenzen erfolgte
oder weil eine Datei, die geöffnet werden sollte, nicht gefunden
wurde, so gibt es in Java Sprachmittel, die eine systematische Behandlung
solcher Ausnahmen ermöglichen.
Da Exceptions ein relativ neues Feature von Programmiersprachen sind,
ist es sinnvoll, zunächst die in diesem Zusammenhang verwendeten
Begriffe vorzustellen. Als Exception wird dabei die eigentliche
Ausnahme bezeichnet, die durch ein Programm zur Laufzeit verursacht
werden kann. Das Auslösen einer Ausnahme
wird im Java-Sprachgebrauch als throwing bezeichnet, wir werden
meist die deutsche Bezeichnung auslösen verwenden. Das
Behandeln einer Ausnahme, also die explizite
Reaktion auf das Eintreten einer Ausnahme, wird als catching
bezeichnet. Schließlich werden wir auch die Begriffe Ausnahme
und Exception synonym verwenden.
Das Grundprinzip des Exception-Mechanismus in Java kann wie folgt
beschrieben werden:
- Ein Laufzeitfehler oder eine vom Entwickler gewollte Bedingung
löst eine Ausnahme aus.
- Diese kann nun entweder von dem Programmteil, in dem sie ausgelöst
wurde, behandelt werden, oder sie kann weitergegeben werden.
- Wird die Ausnahme weitergegeben, so hat der Empfänger der
Ausnahme erneut die Möglichkeit, sie entweder zu behandeln oder
selbst weiterzugeben.
- Wird die Ausnahme von keinem Programmteil behandelt, so führt
sie zum Abbruch des Programms und zur Ausgabe einer Fehlermeldung.
Die folgenden Abschnitte erläutern die Details des Auftretens,
der Behandlung und der Weitergabe von Ausnahmen.