~Java4Beginners~
~Java4Beginners~

Exceptions

Ein nicht zu unterschätzendes Thema in der Java-Programmierung ist der Umgang mit der Exceptionbehandlung.

Eine Exception ist eine Ausnahmesituation, den Ihr Programmcode erzeugt und welche zum Programmabbruch führt.

Schauen wir uns in einem kleinen Beispiel an, wie eine solche Exception auftritt. In diesem Beispiel soll das Ergebnis einer Division 7/0 ausgegeben werden. Mathematisch wissen wir, dass eine Division durch 0 nicht zulässig ist.

BUILD FAILED (total time: 1 second) sagt uns, dass es bei der Ausführung des Programmes einen Abbruch gab. Das ist auch ersichtlich, da die nach der Berechnung einefügte print-Anweisung nicht ausgeführt wurde.

Exception in thread "main" java.lang.ArithmeticException: sagt uns, dass eine Ausnahme vorliegt, welche wir in der Klasse ArithmeticException finden.

/ by zero ist die error-message, also die Fehlermeldung.

at ErsteSchritte.Exceptionhandling.main(Exceptionhandling.java:11) teilt uns mit, wo diese Ausnahme auftritt.

Wenn eine solche Exception auftritt, wird ein Objekt einer bestimmten Exception-Klasse erstellt. Als Mutter aller Exceptionklasse dient die Klasse Throwable

Die Klasse Throwable dient als Basisklasse für Objekte, die Ausnahmesituationen signalisieren, den Errors und Exceptions.

Aus dieser Klasse Trowable leiten sich die Klassen Exception und Error ab. Diese besitzen dann ebenfalls wieder etliche Unterklassen.

throw

Das Werfen (engl. throw) einer Exception ist auslösen einer Ausnahme, welche ein Excesption-Objekt erzeugt.

try and catch

Mit try und catch wird eine geworfene Exception abgefangen und behandelt, so dass es zu keinem Programmabbruch kommt. Try, also versuchen, ist der Bereich, in welchem eine Anweisung ausgeführt wird, welche zu einer Ausnahmesituation folgen könnten, während der Catch-Bereich (Fangen) der Bereich ist, der dafür sorgt, dass diese Ausnahme abgefangen wird.

finally

Schlussendlich (finally) kann es sein, dass trotz des Abfangens der Exception (was dazu führte, dass die Anweisung nicht ausgeführt worden ist, da es nicht möglich war und das Programm trotzdem weiterläuft, da die Exception abgefangen wurde) trotzdem noch etwas passieren muss.

Wenn ich z. B. den Kühlschrank öffne mit der Aufgabe, ein Bier zu entnehmen wäre eine Ausnahmesituation, wenn kein Bier im Kühlschrank ist. Schlussendlich muss die Kühlschranktür aber geschlossen werden, egal ob ein Bier entnommen wurde oder nicht.
nach oben Java4Beginners -- Seitenversion 1.0 -- Stand: 2017-05-17