Java Reference
In-Depth Information
catch (NumberFormatException e) {
jLErgebnis.setText("Falsches Zahlenformat! ");
}
catch (Exception e) {
jLErgebnis.setText("Fehler bei der Eingabe!");
}
Listing 10.4 Spezialisierte catch-Blöcke
Hier ist auf die Reihenfolge zu achten. Trifft der in einem catch angegebene Exception-
Typ zu, wird der zugehörige Anweisungsblock und werden alle folgenden catch -Blöcke
übersprungen. Sie sollten bei der Reihenfolge darauf achten, dass die Exception-Typen
immer vom speziellsten zum allgemeinsten Typ sortiert angeordnet werden.
Eine dritte Möglichkeit sei noch erwähnt, die darin besteht, die aufgetretene Exception
nach näheren Informationen zu befragen. Die Methode getMessage() einer Exception
liefert einen Fehlertext zum aufgetretenen Fehler, der allerdings in englischer Sprache
abgefasst ist. Geben Sie etwa im TextField für die Stückzahl die Kommazahl 2.5 ein, dann
kann diese nicht mit Integer.parseInt umgewandelt werden, und der Aufruf von
e.getMessage() liefert den String For input string: «2.5« zurück.
Nachdem nun die Bedeutung von try-catch geklärt ist, soll der Vollständigkeit halber
darauf hingewiesen werden, dass Sie dieses Konstrukt um einen finally -Teil ergänzen
können. Damit lautet die vollständige Syntax:
try {
//zu überwachende Anweisungen
}
catch (NumberFormatException e) {
//Reaktion auf das Auftreten einer NumberFormatException
}
catch (Exception e) {
//Reaktion auf alle anderen Exceptions
}
finally {
//Anweisungen, die in jedem Fall ausgeführt werden sollen
}
Listing 10.5 Vollständige Syntax für die Behandlung von Exceptions
Es können auf den try -Block beliebig viele catch -Blöcke folgen, von denen jeder auf eine
andere Art von Exception reagiert. Es wird aber immer nur ein catch -Block ausgeführt.
Search WWH ::




Custom Search