DOM
::
編集:2022.11.08 by T.A.
[Edge]。読取専用。→、、
エラー名を表す文字列 DOMString を返します。
構文
DOMException.name
値
DOMString。→new DOMException()
これは、一般的なエラー名の一覧です。独自にエラー名のセットを定義している API がありますので、これは必ずしも完全なリストではありません。
注記: 歴史的にエラーは、エラーの値を持つように定義した名前付き変数と、それに対応する値で識別されてきたため、一部の項目では過去に使用されたレガシーコードや定数名も記載します。
- AbortError
- 操作が異常終了しました。(レガシーコード: 20、レガシー定数名: ABORT_ERR)
- ConstraintError
- 制約が満たされないため、処理の中の変更操作が失敗しました(レガシーコードおよびレガシー定数名はありません)。
- DataCloneError
- オブジェクトを複製できません。(レガシーコード: 25、レガシー定数名: DATA_CLONE_ERR)
- DataError
- 提供されたデータが不適切です(レガシーコードおよびレガシー定数名はありません)。
- EncodingError
- エンコードやデコードといった、エンコーディング操作が失敗しました(レガシーコードおよびレガシー定数名はありません)。
- HierarchyRequestError
- ノードツリーの階層が正しくありません。(レガシーコード: 3、レガシー定数名: HIERARCHY_REQUEST_ERR)
- IndexSizeError
- インデックスが許可された範囲から外れています。例えば、Range オブジェクトで発生することがあります。(レガシーコード: 1、レガシー定数名: INDEX_SIZE_ERR)
- InvalidAccessError
- オブジェクトが操作や引数をサポートしていません。(レガシーコード: 15、レガシー定数名: INVALID_ACCESS_ERR)
- InvalidCharacterError
- 文字列に無効な文字が含まれています。(レガシーコード: 5、レガシー定数名: INVALID_CHARACTER_ERR)
- InvalidModificationError
- オブジェクトをこの方法で変更できません。(レガシーコード: 13、レガシー定数名: INVALID_MODIFICATION_ERR)
- InvalidNodeTypeError
- ノードが正しくない、または操作に対して誤った祖先が存在します。(レガシーコード: 24、レガシー定数名: INVALID_NODE_TYPE_ERR)
- InvalidStateError
- オブジェクトが無効な状態です。(レガシーコード: 11、レガシー定数名: INVALID_STATE_ERR)
- NamespaceError
- XML の名前空間によって、操作は許可されていません。(レガシーコード: 14、レガシー定数名: NAMESPACE_ERR)
- NetworkError
- ネットワークのエラーが発生しました。(レガシーコード: 19、レガシー定数名: NETWORK_ERR)
- NoModificationAllowedError
- オブジェクトを変更できません。(レガシーコード: 7、レガシー定数名: NO_MODIFICATION_ALLOWED_ERR)
- NotAllowedError
- 現在の状況において、ユーザーエージェントまたはプラットフォームが要求を許可しませんでした。ユーザーが拒否されている可能性があります(レガシーコードおよびレガシー定数名はありません)。
- NotFoundError
- オブジェクトが見つかりません。(レガシーコード: 8、レガシー定数名: NOT_FOUND_ERR)
- NotReadableError
- 入出力の読み取り操作が失敗しました(レガシーコードおよびレガシー定数名はありません)。
- NotSupportedError
- 操作をサポートしていません。(レガシーコード: 9、レガシー定数名: NOT_SUPPORTED_ERR)
- OperationError
- 操作に固有の理由で、操作が失敗しました(レガシーコードおよびレガシー定数名はありません)。
- QuotaExceededError
- クォータを超過しました。(レガシーコード: 22、レガシー定数名: QUOTA_EXCEEDED_ERR)
- ReadOnlyError
- "読み取り専用" の処理で変更操作を試みました(レガシーコードおよびレガシー定数名はありません)。
- SecurityError
- 操作が安全ではありません。(レガシーコード: 18、レガシー定数名: SECURITY_ERR)
- SyntaxError
- 文字列が期待されたパターンにマッチしません。(レガシーコード: 12、レガシー定数名: SYNTAX_ERR)
- TimeoutError
- 操作がタイムアウトしました。(レガシーコード: 23、レガシー定数名: TIMEOUT_ERR)
- TransactionInactiveError
- 現在アクティブではない、または終了した処理に対して要求を行いました(レガシーコードおよびレガシー定数名はありません)。
- TypeMismatchError
- オブジェクトの型が、期待された型に一致しません。(レガシーコード: 17、レガシー定数名: TYPE_MISMATCH_ERR)この値は非推奨であり、この値を持つ DOMException に代わり JavaScript の TypeError 例外が発生します。
- UnknownError
- 未知の一時的な理由(例えばメモリー不足)によって、操作が失敗しました(レガシーコードおよびレガシー定数名はありません)。
- URLMismatchError
- 与えられた URL が、別の URL と一致しません。(レガシーコード: 21、レガシー定数名: URL_MISMATCH_ERR)
- VersionError
- 現在のバージョンより古いバージョンを使用するデータベースを開こうとしました(レガシーコードおよびレガシー定数名はありません)。
- WrongDocumentError
- オブジェクトが誤った Document 内に存在します。(レガシーコード: 4、レガシー定数名: WRONG_DOCUMENT_ERR)
mdnより
この例では、ボタンを押すとカスタム DOMException がスローされます。これがキャッチされ、カスタム エラー メッセージがアラートに表示されます。
HTML:
<button>Trigger DOM Exception</button>
<p id="output"></p>
JavaScript:
const button = document.querySelector('button');
button.onclick = () => {
try {
throw new DOMException("Custom DOM Exception Triggered.");
} catch (error) {
document.querySelector("#output").textContent = `Error: ${error.message}`;
}
}
HTML:
<BUTTON id=IdTest>DOM 例外の発生</BUTTON><BR>
<SPAN id=IdLog></SPAN>
JavaScript: これを実行して、「DOM 例外の発生」ボタンを押してください。
function Job(){
try{
throw new DOMException("カスタム DOM 例外が発生しました");
}catch(e){
D=e;
IdLog.innerHTML="Error:"+e.message;
}
}
IdTest.onclick=Job;
得た内容:D
=[object]:Error: カスタム DOM 例外が発生しました
code=[number]:0
name=[string]:Error
message=[string]:カスタム DOM 例外が発生しました
…
テスト