Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 12 - Exceptions

## 12.1 Grundlagen und Begriffe

- 12.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.

Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de