java AddiereAlles < vieleZahlen.dat.dat
Professionell geschriebener Code überprüft sorgfältig den Input nach Fehlern. Wir werden das nicht tun, sondern uns darauf verlassen was Java automatisch macht. Angenommen die Input-Datei sieht folgendermaßen aus:
5 1 2 3 4
Die Datei enthält einen Fehler, da sie mitteilt, dass fünf Integer zu addieren sind, aber nur vier Integer folgen. Die Zeile nach der "4" ist leer. Hier kommt was passieren wird, wenn Sie das Programm mit dieser Datei ausführen (die Eingabeaufforderungen für den Anwender wurden in diesem Code gelassen):
C:\user\default\JavaLektionen>java AddiereAlles < daten.dat Wie viele Integer: Geben Sie eine Zahl ein: Geben Sie eine Zahl ein: Geben Sie eine Zahl ein: Geben Sie eine Zahl ein: Geben Sie eine Zahl ein: java.lang.NumberFormatException: C:\user\default\JavaLektionen>
Die fünfte Ausführung von readLine()
hat einen leeren String zurückgegeben (da die Zeile nichts enthielt),
was in einen Integer konvertiert werden könnte.
Wenn das allerletzte Zeichen in der Datei die "4" war,
würde ebenfalls zur Laufzeit eine Ausnahme auftreten.
Das Java System wird uns mitteilen, ob die Datei Zeichen enthält, die
nicht einen Integer konvertiert werden können, oder
kürzer ist, als sie sein sollte.
Hier ist eine weitere fehlerhafte Datei:
5 10 20 30 40 50 60 70