EMZETT.
Login

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 (bei input() ohne Eingabe), C: EOF-Konstante bei getchar().

Siehe auch: Exception Handling (Ausnahmebehandlung), throw und throws