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.
Search WWH ::




Custom Search