8.6.2.12 例外

バージョン 2.1 で 新たに追加 された仕様です。

DOM レベル 2 勧告では、単一の例外 DOMException と、 どの種のエラーが発生したかをアプリケーションが決定できるようにする 多くの定数を定義しています。 DOMException インスタンスは、特定の例外に関する 適切な値を提供する code 属性を伴っています。

Python DOM インタフェースでは、上記の定数を提供していますが、 同時に一連の例外を拡張して、DOM で定義されている各例外コードに対して 特定の例外が存在するようにしています。 DOM の実装では、適切な特定の例外を送出しなければならず、 各例外は code 属性に対応する適切な値を伴わなければ なりません。

exception DOMException
全ての特定の DOM 例外で使われている基底例外クラスです。この例外 クラスは直接インスタンス化することができません。

exception DomstringSizeErr
指定された範囲のテキストが文字列に収まらない場合に送出されます。 この例外は Python の DOM 実装で使われるかどうかは判っていませんが、 Python で書かれていない DOM 実装から送出される場合があります。

exception HierarchyRequestErr
挿入できない型のノードを挿入しようと試みたときに送出されます。

exception IndexSizeErr
メソッドに与えたインデクスやサイズパラメタが負の値や許容範囲の 値を超えた際に送出されます。

exception InuseAttributeErr
文書中にすでに存在する Attr ノードを挿入しようと試みた 際に送出されます。

exception InvalidAccessErr
パラメタまたは操作が根底にあるオブジェクトでサポートされていない 場合に送出されます。

exception InvalidCharacterErr
この例外は、文字列パラメタが、現在使われているコンテキストで XML 1.0 勧告によって許可されていない場合に送出されます。 例えば、要素型に空白の入った Element ノードを生成 しようとすると、このエラーが送出されます。

exception InvalidModificationErr
ノードの型を変更しようと試みた際に送出されます。

exception InvalidStateErr
定義されていないオブジェクトや、もはや利用できなくなったオブジェクトを 使おうと試みた際に送出されます。

exception NamespaceErr
Namespaces in XML に照らして許可されていない方法でオブジェクトを変更しようと 試みた場合、この例外が送出されます。

exception NotFoundErr
参照しているコンテキスト中に目的のノードが存在しない場合に送出される 例外です。例えば、NamedNodeMap.removeNamedItem() は 渡されたノードがノードマップ中に存在しない場合にこの例外を送出 します。

exception NotSupportedErr
要求された方のオブジェクトや操作が実装でサポートされていない場合に 送出されます。

exception NoDataAllowedErr
データ属性をサポートしないノードにデータを指定した際に送出されます。

exception NoModificationAllowedErr
オブジェクトに対して (読み出し専用ノードに対する修正のように) 許可されていない修正を行おうと試みた際に送出されます。

exception SyntaxErr
無効または不正な文字列が指定された際に送出されます。

exception WrongDocumentErr
ノードが現在属している文書と異なる文書に挿入され、 かつある文書から別の文書へのノードの移行が実装でサポート されていない場合に送出されます。

DOM 勧告で定義されている例外コードは、以下のテーブルに従って 上記の例外と対応付けられます:

定数 例外
DOMSTRING_SIZE_ERR DomstringSizeErr
HIERARCHY_REQUEST_ERR HierarchyRequestErr
INDEX_SIZE_ERR IndexSizeErr
INUSE_ATTRIBUTE_ERR InuseAttributeErr
INVALID_ACCESS_ERR InvalidAccessErr
INVALID_CHARACTER_ERR InvalidCharacterErr
INVALID_MODIFICATION_ERR InvalidModificationErr
INVALID_STATE_ERR InvalidStateErr
NAMESPACE_ERR NamespaceErr
NOT_FOUND_ERR NotFoundErr
NOT_SUPPORTED_ERR NotSupportedErr
NO_DATA_ALLOWED_ERR NoDataAllowedErr
NO_MODIFICATION_ALLOWED_ERR NoModificationAllowedErr
SYNTAX_ERR SyntaxErr
WRONG_DOCUMENT_ERR WrongDocumentErr

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。