直列化クラスによってスローされるすべての例外は、IOException
のサブクラスであるObjectStreamException
のサブクラスです。
ObjectStreamException
すべての直列化例外のスーパー・クラス。
InvalidClassException
次のどれかの理由によって、クラスを使ってオブジェクトを復元できないときにスローされます。
- クラスがストリーム内の直列化バージョンのクラスと一致しない。
- クラスに無効なプリミティブ・データ型のフィールドが含まれている。
Externalizable
クラスにpublic引数なしコンストラクタがない。Serializable
クラスが、もっとも近い非Serializableスーパー・クラスの引数なしコンストラクタにアクセスできない。
NotSerializableException
直列化または直列化復元を終了するためにreadObject
またはwriteObject
メソッドによってスローされます。
StreamCorruptedException
次の場合にスローされます。
- ストリーム・ヘッダーが無効な場合。
- 制御情報が見つからない場合。
- 制御情報が無効な場合。
PROTOCOL_VERSION_2
ストリームでreadExternal
をコールしようとするJDK 1.1.5以下。
NotActiveException
次のObjectOutputStream
メソッド内でwriteObject
状態が無効な場合にスローされます。
defaultWriteObject
putFields
writeFields
次のObjectInputStream
メソッド内でreadObject
状態が無効な場合にスローされます。
defaultReadObject
readFields
registerValidation
InvalidObjectException
復元されたオブジェクトを有効にできないときにスローされます。
OptionalDataException
ストリーム内にプリミティブ・データがあるのにオブジェクトが期待されるときに、readObject
によってスローされます。 例外の長さフィールドは、現在のブロックで使用可能なバイト数を示します。
WriteAbortedException
ストリームの書込み中に起きた例外によって終了されたストリームを読み込むときにスローされます。