1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
---
title: DOMException
slug: Web/API/DOMException
tags:
- API
- DOM
- DOMException
- Error
- Error code
- Exception
- Reference
translation_of: Web/API/DOMException
---
<p>{{APIRef("DOM")}}</p>
<p><span class="seoSummary"><code><strong>DOMException</strong></code> インターフェイスは、Web API のメソッドの呼び出しやプロパティへのアクセスによって異常なイベント (<strong>例外</strong>と呼ばれます) が発生したことを表します。</span>これは基本的に、Web API 内部のエラーの状態を示すものです。</p>
<p>それぞれの例外に<strong>名称</strong>があり、これはエラーまたは異常な状態を特定する "CamelCase" 形式の文字列です。</p>
<h2 id="Constructor" name="Constructor">コンストラクター</h2>
<dl>
<dt>{{domxref("DOMException.DOMException()", "DOMException()")}} {{experimental_inline}}</dt>
<dd>指定したメッセージおよび名称の <code>DOMException</code> オブジェクトを返します。</dd>
</dl>
<h2 id="Properties" name="Properties">プロパティ</h2>
<dl>
<dt>{{domxref("DOMException.code")}} {{deprecated_inline}} {{readOnlyInline}}</dt>
<dd>{{anch("Error codes", "エラーコード定数")}} の内の 1 つ、または該当しない場合に <code>0</code> を <code>short</code> 型の値で返します。このフィールドは歴史的な経緯で使用されており、新たな DOM 例外では使用しません。新たな例外の情報は {{domxref("DOMException.name")}} 属性に収めています。</dd>
<dt>{{domxref("DOMException.message")}} {{readOnlyInline}}</dt>
<dd>指定した <a href="/ja/docs/Web/API/DOMException#Error_names">エラー名</a> に関連付けられたメッセージまたは説明を表す {{domxref("DOMString")}} を返します。</dd>
<dt>{{domxref("DOMException.name")}} {{readOnlyInline}}</dt>
<dd><a href="#Error_constants">エラー名</a> に関連付けられた文字列のひとつを {{domxref("DOMString")}} 型の値で返します。</dd>
</dl>
<h2 id="Error_names" name="Error_names">エラー名</h2>
<p>これは、一般的なエラー名の一覧です。独自にエラー名のセットを定義している API がありますので、これは必ずしも完全なリストではありません。</p>
<div class="note">
<p><strong>注記</strong>: 歴史的にエラーは、エラーの値を持つように定義した名前付き変数と、それに対応する値で識別されてきたため、一部の項目では過去に使用されたレガシーコードや定数名も記載します。</p>
</div>
<dl>
<dt><a id="exception-IndexSizeError" name="exception-IndexSizeError"><code>IndexSizeError</code></a></dt>
<dd>インデックスが許可された範囲から外れています。例えば、{{domxref("Range")}} オブジェクトで発生することがあります。(レガシーコード: <code>1</code>、レガシー定数名: <code>INDEX_SIZE_ERR</code>)</dd>
<dt><code><a id="exception-HierarchyRequestError" name="exception-HierarchyRequestError">HierarchyRequestError</a></code></dt>
<dd>ノードツリーの階層が正しくありません。(レガシーコード: <code>3</code>、レガシー定数名: <code>HIERARCHY_REQUEST_ERR</code>)</dd>
<dt><a id="exception-WrongDocumentError" name="exception-WrongDocumentError"><code>WrongDocumentError</code></a></dt>
<dd>オブジェクトが誤った {{domxref("Document")}} 内に存在します。(レガシーコード: <code>4</code>、レガシー定数名: <code>WRONG_DOCUMENT_ERR</code>)</dd>
<dt><a id="exception-InvalidCharacterError" name="exception-InvalidCharacterError"><code>InvalidCharacterError</code></a></dt>
<dd>文字列に無効な文字が含まれています。(レガシーコード: <code>5</code>、レガシー定数名: <code>INVALID_CHARACTER_ERR</code>)</dd>
<dt><a id="exception-NoModificationAllowedError" name="exception-NoModificationAllowedError"><code>NoModificationAllowedError</code></a></dt>
<dd>オブジェクトを変更できません。(レガシーコード: <code>7</code>、レガシー定数名: <code>NO_MODIFICATION_ALLOWED_ERR</code>)</dd>
<dt><a id="exception-NotFoundError" name="exception-NotFoundError"><code>NotFoundError</code></a></dt>
<dd>オブジェクトが見つかりません。(レガシーコード: <code>8</code>、レガシー定数名: <code>NOT_FOUND_ERR</code>)</dd>
<dt><a id="exception-NotFoundError" name="exception-NotFoundError"><code>NotSupportedError</code></a></dt>
<dd>操作をサポートしていません。(レガシーコード: <code>9</code>、レガシー定数名: <code>NOT_SUPPORTED_ERR</code>)</dd>
<dt><a id="exception-InvalidStateError" name="exception-InvalidStateError"><code>InvalidStateError</code></a></dt>
<dd>オブジェクトが無効な状態です。(レガシーコード: <code>11</code>、レガシー定数名: <code>INVALID_STATE_ERR</code>)</dd>
<dt><a id="exception-SyntaxError" name="exception-SyntaxError"><code>SyntaxError</code></a></dt>
<dd>文字列が期待されたパターンにマッチしません。(レガシーコード: <code>12</code>、レガシー定数名: <code>SYNTAX_ERR</code>)</dd>
<dt><a id="exception-InvalidModificationError" name="exception-InvalidModificationError"><code>InvalidModificationError</code></a></dt>
<dd>オブジェクトをこの方法で変更できません。(レガシーコード: <code>13</code>、レガシー定数名: <code>INVALID_MODIFICATION_ERR</code>)</dd>
<dt><a id="exception-NamespaceError" name="exception-NamespaceError"><code>NamespaceError</code></a></dt>
<dd>XML の名前空間によって、操作は許可されていません。(レガシーコード: <code>14</code>、レガシー定数名: <code>NAMESPACE_ERR</code>)</dd>
<dt><a id="exception-InvalidAccessError" name="exception-InvalidAccessError"><code>InvalidAccessError</code></a></dt>
<dd>オブジェクトが操作や引数をサポートしていません。(レガシーコード: <code>15</code>、レガシー定数名: <code>INVALID_ACCESS_ERR</code>)</dd>
<dt><a id="exception-TypeMismatchError" name="exception-TypeMismatchError"><code>TypeMismatchError</code></a> {{deprecated_inline}}</dt>
<dd>オブジェクトの型が、期待された型に一致しません。(レガシーコード: <code>17</code>、レガシー定数名: <code>TYPE_MISMATCH_ERR</code>) この値は非推奨であり、この値を持つ <code>DOMException</code> に代わり JavaScript の {{jsxref("TypeError")}} 例外が発生します。</dd>
<dt><a id="exception-SecurityError" name="exception-SecurityError"><code>SecurityError</code></a></dt>
<dd>操作が安全ではありません。(レガシーコード: <code>18</code>、レガシー定数名: <code>SECURITY_ERR</code>)</dd>
<dt><a id="exception-NetworkError" name="exception-NetworkError"><code>NetworkError</code></a> {{experimental_inline}}</dt>
<dd>ネットワークのエラーが発生しました。(レガシーコード: <code>19</code>、レガシー定数名: <code>NETWORK_ERR</code>)</dd>
<dt><a id="exception-AbortError" name="exception-AbortError"><code>AbortError</code></a> {{experimental_inline}}</dt>
<dd>操作が異常終了しました。(レガシーコード: <code>20</code>、レガシー定数名: <code>ABORT_ERR</code>)</dd>
<dt><a id="exception-URLMismatchError" name="exception-URLMismatchError"><code>URLMismatchError</code></a> {{experimental_inline}}</dt>
<dd>与えられた URL が、別の URL と一致しません。(レガシーコード: <code>21</code>、レガシー定数名: <code>URL_MISMATCH_ERR</code>)</dd>
<dt><a id="exception-QuotaExceededError" name="exception-QuotaExceededError"><code>QuotaExceededError</code></a> {{experimental_inline}}</dt>
<dd>クォータを超過しました。(レガシーコード: <code>22</code>、レガシー定数名: <code>QUOTA_EXCEEDED_ERR</code>)</dd>
<dt><a id="exception-TimeoutError" name="exception-TimeoutError"><code>TimeoutError</code></a></dt>
<dd>操作がタイムアウトしました。(レガシーコード: <code>23</code>、レガシー定数名: <code>TIMEOUT_ERR</code>)</dd>
<dt><a id="exception-InvalidNodeTypeError" name="exception-InvalidNodeTypeError"><code>InvalidNodeTypeError</code></a> {{experimental_inline}}</dt>
<dd>ノードが正しくない、または操作に対して誤った祖先が存在します。(レガシーコード: <code>24</code>、レガシー定数名: <code>INVALID_NODE_TYPE_ERR</code>)</dd>
<dt><a id="exception-DataCloneError" name="exception-DataCloneError"><code>DataCloneError</code></a> {{experimental_inline}}</dt>
<dd>オブジェクトを複製できません。(レガシーコード: <code>25</code>、レガシー定数名: <code>DATA_CLONE_ERR</code>)</dd>
<dt><a id="exception-EncodingError" name="exception-EncodingError"><code>EncodingError</code></a> {{experimental_inline}}</dt>
<dd>エンコードやデコードといった、エンコーディング操作が失敗しました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-NotReadableError" name="exception-NotReadableError"><code>NotReadableError</code></a> {{experimental_inline}}</dt>
<dd>入出力の読み取り操作が失敗しました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-UnknownError"><code>UnknownError</code></a> {{experimental_inline}}</dt>
<dd>未知の一時的な理由 (例えばメモリー不足) によって、操作が失敗しました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-ConstraintError"><code>ConstraintError</code></a> {{experimental_inline}}</dt>
<dd>制約が満たされないため、処理の中の変更操作が失敗しました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-DataError"><code>DataError</code></a> {{experimental_inline}}</dt>
<dd>提供されたデータが不適切です (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-TransactionInactiveError"><code>TransactionInactiveError</code></a> {{experimental_inline}}</dt>
<dd>現在アクティブではない、または終了した処理に対して要求を行いました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-ReadOnlyError"><code>ReadOnlyError</code></a> {{experimental_inline}}</dt>
<dd>"読み取り専用" の処理で変更操作を試みました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-VersionError"><code>VersionError</code></a> {{experimental_inline}}</dt>
<dd>現在のバージョンより古いバージョンを使用するデータベースを開こうとしました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-OperationError"><code>OperationError</code></a> {{experimental_inline}}</dt>
<dd>操作に固有の理由で、操作が失敗しました (レガシーコードおよびレガシー定数名はありません)。</dd>
<dt><a id="exception-NotAllowedError"><code>NotAllowedError</code></a></dt>
<dd>現在の状況において、ユーザーエージェントまたはプラットフォームが要求を許可しませんでした。ユーザーが拒否されている可能性があります (レガシーコードおよびレガシー定数名はありません)。</dd>
</dl>
<h2 id="Specifications" name="Specifications">仕様</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">仕様書</th>
<th scope="col">策定状況</th>
<th scope="col">コメント</th>
</tr>
<tr>
<td>{{SpecName('WebIDL', '#es-DOMException-call', 'constructor')}}</td>
<td>{{Spec2('WebIDL')}}</td>
<td><code>DOMException</code> クラスのコンストラクターを追加。値 <code>NotReadableError</code>, <code>UnknownError</code>, <code>ConstraintError</code>, <code>DataError</code>, <code>TransactionInactiveError</code>, <code>ReadOnlyError</code>, <code>VersionError</code>, <code>OperationError</code>, <code>NotAllowedError</code> を追加。</td>
</tr>
<tr>
<td>{{SpecName('DOM4', '#exception-domexception', 'DOMException')}}</td>
<td>{{Spec2('DOM4')}}</td>
<td><code>SECURITY_ERR</code>, <code>NETWORK_ERR</code>, <code>ABORT_ERR</code>, <code>URL_MISMATCH_ERR</code>, <code>QUOTA_EXCEEDED_ERR</code>, <code>TIMEOUT_ERR</code>, <code>INVALID_NODE_TYPE_ERR</code>, <code>DATA_CLONE_ERR</code> を追加。例外値のプロパティ <code>code</code> を非推奨に変更。値 <code>EncodingError</code> を追加。</td>
</tr>
<tr>
<td>{{SpecName('DOM3 Core', 'core.html#ID-17189187', 'DOMException')}}</td>
<td>{{Spec2('DOM3 Core')}}</td>
<td><code>VALIDATION_ERR</code> および <code>TYPE_MISMATCH_ERR</code> を追加。</td>
</tr>
<tr>
<td>{{SpecName('DOM2 Core', 'core.html#ID-17189187', 'DOMException')}}</td>
<td>{{Spec2('DOM2 Core')}}</td>
<td><code>INVALID_STATE_ERR</code>, <code>SYNTAX_ERR</code>, <code>INVALID_MODIFICATION_ERR</code>, <code>NAMESPACE_ERR</code>, <code>INVALID_ACCESS_ERR</code> を追加。</td>
</tr>
<tr>
<td>{{SpecName('DOM1', 'level-one-core.html#ID-17189187', 'DOMException')}}</td>
<td>{{Spec2('DOM1')}}</td>
<td>最初期の定義</td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザー実装状況</h2>
<p>{{Compat("api.DOMException")}}</p>
<h2 id="See_also" name="See_also">関連情報</h2>
<ul>
<li>{{domxref("DOMError")}}</li>
</ul>
|