Contents | Prev | Next Java Object Serialization Specification
version 1.5.0

Exceptions In Object Serialization

Chapter B

All exceptions thrown by serialization classes are subclasses of ObjectStreamException which is a subclass of IOException.

Exception Description


Superclass of all serialization exceptions.


Thrown when a class cannot be used to restore objects for any of these reasons:

  • The class does not match the serial version of the class in the stream.
  • The class contains fields with invalid primitive data types.
  • The Externalizable class does not have a public no-arg constructor.
  • The 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.



  • If the stream header is invalid.
  • If control information not found.
  • If control information is invalid.
  • JDKTM 1.1.5 or less attempts to call readExternal on a PROTOCOL_VERSION_2 stream.
  • NotActiveException

    Thrown if writeObject state is invalid within the following ObjectOutputStream methods:

  • defaultWriteObject
  • putFields
  • writeFields

    Thrown if readObject state is invalid within the following ObjectInputStream methods:

  • defaultReadObject
  • readFields
  • registerValidation
  • InvalidObjectException

    Thrown when a restored object cannot be made valid.


    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.


    Thrown when reading a stream terminated by an exception that occurred while the stream was being written.

    Contents | Prev | Next Java Object Serialization Specification
    version 1.5.0

    Copyright © 2004 Sun Microsystems, Inc. All rights reserved