Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

EOFException when reading QueueFile tape

People also ask

How do you resolve EOFException?

Since EOFException is a checked exception, it must be explicitly handled in methods that can throw this exception - either by using a try-catch block or by throwing it using the throws clause.

What does EOFException mean?

Class EOFException Signals that an end of file or end of stream has been reached unexpectedly during input. This exception is mainly used by data input streams to signal end of stream. Note that many other input operations return a special value on end of stream rather than throwing an exception.


The EOFException shows that End Of File has been reached, that is, there are no more bytes to read. This exception is just another way to signal that there is nothing more to read, whereas other methods return a value, like -1. As you can see in your error stack trace, the methods throwing the exception are read methods; java.io.RandomAccessFile.readFully(RandomAccessFile.java:419) and com.squareup.tape.QueueFile.readHeader(:165). As such, it can't be "prevented" unless you don't read all the bytes (which you typically want to), just catch it like so; catch(EOFException e) { /* ignore */ } :) https://docs.oracle.com/javase/7/docs/api/java/io/EOFException.html