Java Reference
In-Depth Information
sich um schwerwiegende Fehler, die nicht abgefangen werden sollten, weil man z. B. bei
einem OutOfMemory -Error nie sicher sein kann, dass die folgenden Befehlszeilen über-
haupt noch ausgeführt werden können. Es gibt zwar durchaus Situationen, in denen es
sinnvoll sein kann, auch Errors mit catch abzufangen, allerdings ist das nicht im Sinne
der Java-Entwickler und betrifft Situationen, in denen man Java-Code von Drittanbie-
tern verwendet, die nicht im eigentlichen Sinne von Java programmiert wurden.
Tritt nun eine Ausnahmesituation innerhalb einer Methode auf, dann erzeugt das Lauf-
zeitsystem ein Objekt der Klasse Exception oder von Exception abgeleiteter Klassen.
Dieses Objekt verfügt über Methoden, um auf nähere Informationen über die aufgetre-
tene Ausnahmesituation zuzugreifen. Diese Informationen beschreiben die Art des
Fehlers (z. B. NumberFormatException ) und die Position innerhalb der Anwendung, an der
die Ausnahmesituation aufgetreten ist.
Die von Jigloo in der Methode initGUI verwendete catch -Anweisung
catch (Exception e) {
e.printStackTrace();
}
veranlasst das Objekt, mit der Methode printStackTrace() , umfangreiche Informatio-
nen in der Konsole auszugeben. Der in Abschnitt 10.1.2 abgedruckte Auszug zeigt z. B.
die Informationen, dass es sich um eine NumberFormatException handelt und dass der
Eingabestring »3.2« die Ursache war. Der Fehler ist in der Methode Einkauf.berechnen
durch die Anweisung in Zeile 179 unseres Quellcodes ausgelöst worden. Die weiteren
Zeilenangaben (202 und 148) lassen den Weg, über den die Methode aufgerufen wurde,
zurückverfolgen. Die von Eclipse blau dargestellten Passagen sind als Link ausgeführt
und führen direkt zur Position im Quelltext, auf den der Vermerk hinweist.
10.3
Fortgeschrittene Ausnahmebehandlung
10.3.1
Interne Abläufe beim Eintreffen einer Exception
Der Weg, über den eine Anweisung innerhalb einer Methode aufgerufen wurde, ist für
den weiteren Ablauf im Falle des Auftretens einer Exception von großer Bedeutung. Wie
bereits bekannt, beginnt ein Java-Programm grundsätzlich mit der Abarbeitung der
main -Methode. In der Regel führt dann der Weg über mehrere Methodenaufrufe zur aus-
lösenden Anweisung.
Search WWH ::




Custom Search