OptionalDataException

  • OptionalDataException signals an issue during object deserialization due to unexpected primitive data or premature end of stream.

  • It occurs when encountering primitive data instead of an object, or when attempting to read beyond the object's data.

  • The eof field indicates if the stream has ended prematurely, while length specifies the amount of unread primitive data.

  • OptionalDataException provides two fields, eof and length, to help diagnose the specific cause of the exception.

public class OptionalDataException extends ObjectStreamException

Exception indicating the failure of an object read operation due to unread primitive data, or the end of data belonging to a serialized object in the stream. This exception may be thrown in two cases:

  • An attempt was made to read an object when the next element in the stream is primitive data. In this case, the OptionalDataException's length field is set to the number of bytes of primitive data immediately readable from the stream, and the eof field is set to false.
  • An attempt was made to read past the end of data consumable by a class-defined readObject or readExternal method. In this case, the OptionalDataException's eof field is set to true, and the length field is set to 0.

Field Summary

public boolean eof True if there is no more data in the buffered part of the stream.
public int length The number of bytes of primitive data available to be read in the current buffer.

Inherited Method Summary

Fields

public boolean eof

True if there is no more data in the buffered part of the stream.

public int length

The number of bytes of primitive data available to be read in the current buffer.