Java Reference
In-Depth Information
Abbildung 10.1 Frame zur Aufgabe »Einkauf«
Exemplarisch sollte das Programm bei einem leeren Textfeld für die Stückzahl im
Ergebnislabel eine Fehlermeldung ausgeben. Der folgende Auszug zeigt eine Lösung
mit einer if -Anweisung, die prüft, ob das Textfeld leer ist:
10
if (jTFStueckzahl.getText().equals("")) {
jLErgebnis.setText("Es wurde keine Stückzahl angegeben.");
}else...
Listing 10.1 Fehlerbehandlung mit einer if-Anweisung
Selbstverständlich, müsste die gleiche Prüfung auch für die anderen Textfelder vorge-
nommen werden. Aber auch damit wird nur auf den Fehler reagiert, dass ein Textfeld
leer ist. Wollen Sie auch noch prüfen, ob eine nicht zulässige Kommazahl eingegeben
wurde, dann wären weitere Prüfungen mit if -Anweisungen erforderlich. Aber selbst
damit wären nicht alle Fehlermöglichkeiten wie die Eingabe von unzulässigen Buchsta-
ben berücksichtigt.
10.1.2
Exception als Reaktion auf Fehler
Wie reagiert nun aber das Programm, wenn Fehler auftreten, die Sie als Programmierer
nicht vorhergesehen und für die Sie keine entsprechenden Vorkehrungen getroffen
haben? Was passiert also, wenn als Stückzahl eine Kommazahl eingegeben wird? Diese
Eingabe sollte nicht zulässig sein. In der Musterlösung ist aus diesem Grund als Daten-
typ für die Stückzahl int gewählt worden. Falls Ihr Programm als Datentyp einen Kom-
mazahltyp verwendet, ändern sie dies für die folgenden Tests in int ab.
Starten Sie das Programm, und geben Sie als Stückzahl eine Kommazahl ein. Wie rea-
giert das Programm? Es scheint so, als würde es die Betätigung der Schaltfläche Berech-
nen ignorieren. Es erscheint jedenfalls keine Ausgabe im Ergebnislabel.
 
Search WWH ::




Custom Search