Java Reference
In-Depth Information
Dass die falsche Eingabe keineswegs ignoriert wird, können sie erkennen, wenn sie auf
die Ansicht Console achten, während die Schaltfläche Berechnen betätigt wird. Dort
erscheint eine sehr umfangreiche Ausgabe, die folgendermaßen beginnt:
java.lang.NumberFormatException: For input string: "3.2"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at gui10.Einkauf.berechnen(Einkauf.java:179)
at gui10.Einkauf.jBtnBerechnenActionPerformed(Einkauf.java:204)
at gui10.Einkauf.access$3(Einkauf.java:202)
at gui10.Einkauf$5.actionPerformed(Einkauf.java:148)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
...
Die Ausgabe soll hier nicht im Detail analysiert werden. Es soll uns eigentlich nur der
erste Teil interessieren, der hier auch abgedruckt ist. Dieser Teil der Ausgabe sagt aus,
dass eine Exception aufgetreten ist. Sie können der Ausgabe noch nähere Informatio-
nen entnehmen. Die Exception ist bei der Ereignisbehandlung (AWT-EventQueue-0)
aufgetreten, und es handelt sich um die spezielle Art der NumberFormatException . Auslö-
ser war der Eingabestring »3.2«, der in diesem Beispiel für die Stückzahl eingegeben
wurde und offensichtlich nicht umgewandelt werden konnte. Wie Sie sehen, lohnt es
sich durchaus, die Konsolenausgabe zu studieren. Sie erhalten gute Hinweise auf die
Ursache des aufgetretenen Fehlers.
Eine Exception ist eine Ausnahmesituation. Das bedeutet, dass kein normaler Programm-
ablauf möglich war. Der normale Programmablauf sah vor, dass nach dem Betätigen der
Schaltfläche Berechnen die folgende, in Abbildung 10.2 dargestellte if -Anweisung abge-
arbeitet werden sollte.
Wenn TextField für Stueckzahl leer ist
dann
sonst
Fehlermeldung ausgeben
Stückzahl als int holen
Stückpreis als double holen
Rabattsatz als double holen
Ergebnis berechnen
Ergebnis im Label ausgeben
Abbildung 10.2 Auslösen einer Exception
 
Search WWH ::




Custom Search