Java Reference
In-Depth Information
try {
stueckzahl = Integer.parseInt(jTFStueckzahl.getText());
stueckpreis = Double.parseDouble(jTFStueckpreis.getText());
rabattsatz = Double.parseDouble(jTFRabatt.getText());
bruttopreis = stueckzahl * stueckpreis;
rabatt = bruttopreis * rabattsatz / 100;
einkaufspreis = bruttopreis - rabatt;
jLErgebnis.setText("Der Einkaufspreis beträgt "
+Double.toString(einkaufspreis)+"€");
jTFStueckzahl.requestFocus();
jTFStueckzahl.selectAll();
} catch (Exception e) {
jLErgebnis.setText("Fehler bei der Eingabe!");
10
}
}
Listing 10.3
Exception beim Berechnen abgefangen
Listing 10.3
zeigt am Beispiel der Methode
berechnen()
, wie Sie selbst eine Exception
abfangen können. Die aufwändige
if
-Anweisung kann komplett entfallen. Dadurch,
dass hinter
catch
als Typ für
e
der allgemeinste Typbezeichner für eine Exception
gewählt wurde, werden hier alle denkbaren Exceptions abgefangen. Ganz gleich welche
Art von Exception in dem Anweisungsblock hinter
try
auftritt, es wird der Hinweis
»Fehler bei der Eingabe!« ausgegeben.
10.2.1
Detailliertere Fehlermeldungen
Sollen dem Anwender detailliertere Angaben über den aufgetretenen Fehler gemacht
werden, gibt es unterschiedliche Vorgehensweisen. Sie können jede
parse
-Anweisung
in eine eigene
try-catch
-Konstruktion einpassen. Im
catch
-Block kann dann eine Feh-
lermeldung angegeben werden, die dem Anwender exakt Auskunft darüber gibt, in wel-
chem Eingabefeld die fehlerhafte Eingabe vorliegt.
Eine weitere Möglichkeit besteht darin, dass Sie auf einen
try
-Block mehrere
catch
-Blöcke
folgen lassen. Dabei reagiert dann jedes
catch
nur auf eine ganz spezielle Art von Excep-
tion. Der ersten Zeile der ursprünglichen Fehlermeldung in der Konsole (siehe 10.1.2) war
zu entnehmen, dass es sich um eine
NumberFormatException
gehandelt hat. Diese Infor-
mation können Sie verwenden, um nach einem
try
einen
catch
-Block zu definieren, der
nur auf diese Art Exception reagiert.