目次 | 前へ | 次へ Java オブジェクト直列化仕様
Version 6.0

オブジェクト直列化における例外





付録 B

直列化クラスによってスローされるすべての例外は、IOException のサブクラスである ObjectStreamException のサブクラスです。

例外 説明
ObjectStreamException すべての直列化例外のスーパークラス。
InvalidClassException 次のどれかの理由によって、クラスを使ってオブジェクトを復元できないときにスローされます。
  • クラスがストリーム内の直列化バージョンのクラスと一致しない。
  • クラスに無効なプリミティブデータ型のフィールドが含まれている。
  • Externalizable クラスに public 引数なしコンストラクタがない。
  • Serializable クラスが、もっとも近い非 Serializable スーパークラスの引数なしコンストラクタにアクセスできない。
NotSerializableException 直列化または直列化復元を終了するために readObject または writeObject メソッドによってスローされます。
StreamCorruptedException 次の場合にスローされます。
  • ストリームヘッダーが無効な場合。
  • 制御情報が見つからない場合。
  • 制御情報が無効な場合。
  • JDK 1.1.5 以前が PROTOCOL_VERSION_2 ストリーム上で readExternal を呼び出そうとした。
NotActiveException

次の ObjectOutputStream メソッド内で writeObject 状態が無効な場合にスローされます。

  • defaultWriteObject
  • putFields
  • writeFields

次の ObjectInputStream メソッド内で readObject 状態が無効な場合にスローされます。

  • defaultReadObject
  • readFields
  • registerValidation
InvalidObjectException 復元されたオブジェクトを有効にできないときにスローされます。
OptionalDataException ストリーム内にプリミティブデータがあるのにオブジェクトが期待されるときに、readObject によってスローされます。例外の長さフィールドは、現在のブロックで使用可能なバイト数を示します。
WriteAbortedException ストリームの書き込み中に起きた例外によって終了されたストリームを読み込むときにスローされます。

目次 | 前へ | 次へ
Copyright © 2005, 2010, Oracle and/or its affiliates. All rights reserved.