EOFException (EOFE)
Kurz: EOF steht für „End Of File“. Die EOFException wird geworfen, wenn beim Lesen unerwartet das Ende einer Datei oder eines Streams erreicht wird, obwohl noch Daten erwartet wurden.
Genauer: Sie gehört zu den IOExceptions und ist geprüft. Typisch ist sie beim Lesen binärer Daten mit DataInputStream oder ObjectInputStream. Bei Textdateien liefert read() stattdessen den Wert -1, und readLine() gibt null zurück.
Im Detail
- Ursachen: Datei abgeschnitten, Format falsch gelesen, Schleife liest zu oft, Verbindung vorzeitig geschlossen.
- Gegenmittel: Vor dem Lesen die Länge prüfen oder auf -1/null prüfen. Bei Streams das Lesen in try/catch mit EOFException als normales Ende behandeln.
- Scanner:
NoSuchElementException, wenn keine Eingabe mehr da ist, siehe try/catch/finally. - Andere Sprachen: Python
EOFError(beiinput()ohne Eingabe), C:EOF-Konstante beigetchar().
Siehe auch: Exception Handling (Ausnahmebehandlung), throw und throws