DOM 操作は、「例外的な」状況、つまり操作を実行できない(というのは論理的な理由でデータが消失するか、あるいは実装が不安定になっている)時に、例外をただ発生させる。一般に DOM メソッドは、 NodeList
使用時の out-of-bound エラーのように、処理のシチュエーションに応じて決められたエラー値を返す。
実装は、他の状況下では他の例外を発生させるべきである。例えば、引数に null
が渡された時、実装は、実装依存の例外を発生させるべきである。
例外の概念をサポートしない言語やオブジェクトシステムもある。そのようなシステムの為に、エラー条件はネイティブなエラー報告システムによって示されてもよい。バインディングによっては、例えば、メソッドは一致するメソッドの説明内のリストと同様のエラーコードを返してもよい。
生成されたエラーの型を表す整数。
Note: 他の数値コードは将来の使用のために W3C に予約される。
DOMSTRING_SIZE_ERR | 指定されたテキストの範囲が DOMString に適さない場合。 |
HIERARCHY_REQUEST_ERR | ノードの属さない個所にノードが挿入される場合。 |
INDEX_SIZE_ERR | インデックスまたはサイズが負である場合、また許容値よりも大きい場合。 |
INUSE_ATTRIBUTE_ERR | 既に他の場所で使用されているプロパティの追加を試みた場合。 |
INVALID_ACCESS_ERR | パラメータまたは操作が、基礎になるオブジェクトにサポートされない場合。 |
INVALID_CHARACTER_ERR | 名前のような所で無効または不正な文字が指定された場合。合法な文字の定義については XML 仕様書の production 2 を、合法な名前文字の定義については production 5 を参照。 |
INVALID_MODIFICATION_ERR | 基礎になるオブジェクトの型の更新を試みた場合。 |
INVALID_STATE_ERR | 利用できない、またできなくなったオブジェクトの利用を試みた場合。 |
NAMESPACE_ERR | 名前空間に関して、誤った方法でオブジェクトの作成または変更を試みた場合。 |
NOT_FOUND_ERR | ノードの存在しないコンテキストで、そのノードの参照を試みた場合。 |
NOT_SUPPORTED_ERR | 実装が要求するオブジェクトの型や操作をサポートしない場合。 |
NO_DATA_ALLOWED_ERR | データをサポートしないノードにデータが指定された場合。 |
NO_MODIFICATION_ALLOWED_ERR | 更新の許可されないオブジェクトへの更新を試みた場合。 |
SYNTAX_ERR | 無効または不正な文字列が指定された場合。 |
WRONG_DOCUMENT_ERR | ノードがそれを生成した文書とは別の文書内に使用される場合(それはサポートされない)。 |
exception DOMException { unsigned short code; }; // ExceptionCode const unsigned short INDEX_SIZE_ERR = 1; const unsigned short DOMSTRING_SIZE_ERR = 2; const unsigned short HIERARCHY_REQUEST_ERR = 3; const unsigned short WRONG_DOCUMENT_ERR = 4; const unsigned short INVALID_CHARACTER_ERR = 5; const unsigned short NO_DATA_ALLOWED_ERR = 6; const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7; const unsigned short NOT_FOUND_ERR = 8; const unsigned short NOT_SUPPORTED_ERR = 9; const unsigned short INUSE_ATTRIBUTE_ERR = 10; // Introduced in DOM Level 2: const unsigned short INVALID_STATE_ERR = 11; // Introduced in DOM Level 2: const unsigned short SYNTAX_ERR = 12; // Introduced in DOM Level 2: const unsigned short INVALID_MODIFICATION_ERR = 13; // Introduced in DOM Level 2: const unsigned short NAMESPACE_ERR = 14; // Introduced in DOM Level 2: const unsigned short INVALID_ACCESS_ERR = 15;