All exceptions thrown by serialization classes are subclasses of
ObjectStreamException
which is a subclass of
IOException
.
InvalidClassException
Thrown when a class
cannot be used to restore objects for any of these reasons:
Externalizable
class does not have a public no-arg
constructor.Serializable
class can not access the no-arg
constructor of its closest non-Serializable superclass.NotSerializableException
Thrown by a
readObject
or writeObject
method to
terminate serialization or deserialization.
NotActiveException
Thrown if writeObject
state is invalid within the
following ObjectOutputStream
methods:
Thrown if readObject
state is invalid within the
following ObjectInputStream
methods:
OptionalDataException
Thrown by
readObject
when there is primitive data in the stream
and an object is expected. The length field of the exception
indicates the number of bytes that are available in the current
block.
WriteAbortedException
Thrown when reading a
stream terminated by an exception that occurred while the stream
was being written.