目次|| 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.