DOMException
DOMException
接口表示由于调用 Web API 的方法或访问其属性而发生的异常事件(称为异常)。这是 Web API 中描述错误条件的方式。
每个异常都有一个名称,它是一个简短的“PascalCase”风格的字符串,用于识别错误或异常情况。
DOMException
是一个可序列化对象,因此可以使用structuredClone()
克隆它,或者使用postMessage()
在工作线程之间复制它。
构造函数
DOMException()
-
返回一个具有指定消息和名称的
DOMException
对象。
实例属性
DOMException.code
已弃用 只读-
返回其中一个旧版错误代码常量,如果都不匹配则返回
0
。 DOMException.message
只读-
返回一个字符串,表示与给定错误名称关联的消息或描述。
DOMException.name
只读-
返回一个字符串,其中包含与错误名称关联的字符串之一。
错误名称
此处列出了常见的错误名称。某些 API 定义了自己的名称集,因此此列表不一定是完整的。
请注意,以下已弃用的历史错误没有错误名称,而是只有旧版常量代码值和旧版常量名称
- 旧版代码值:
2
,旧版常量名称:DOMSTRING_SIZE_ERR
- 旧版代码值:
6
,旧版常量名称:NO_DATA_ALLOWED_ERR
- 旧版代码值:
16
,旧版常量名称:VALIDATION_ERR
注意:由于历史上错误是通过一个数值来识别的,该数值对应于一个定义为具有该值的命名变量,因此下面的一些条目指示了过去使用的旧版代码值和常量名称。
IndexSizeError
-
索引不在允许的范围内。例如,这可能会被
Range
对象抛出。(旧版代码值:1
和旧版常量名称:INDEX_SIZE_ERR
) HierarchyRequestError
-
节点树层次结构不正确。(旧版代码值:
3
和旧版常量名称:HIERARCHY_REQUEST_ERR
) WrongDocumentError
-
对象位于错误的
Document
中。(旧版代码值:4
和旧版常量名称:WRONG_DOCUMENT_ERR
) InvalidCharacterError
-
字符串包含无效字符。(旧版代码值:
5
和旧版常量名称:INVALID_CHARACTER_ERR
) NoModificationAllowedError
-
无法修改对象。(旧版代码值:
7
和旧版常量名称:NO_MODIFICATION_ALLOWED_ERR
) NotFoundError
-
在此处找不到对象。(旧版代码值:
8
和旧版常量名称:NOT_FOUND_ERR
) NotSupportedError
-
不支持此操作。(旧版代码值:
9
和旧版常量名称:NOT_SUPPORTED_ERR
) InvalidStateError
-
对象处于无效状态。(旧版代码值:
11
和旧版常量名称:INVALID_STATE_ERR
) InUseAttributeError
-
属性正在使用中。(旧版代码值:
10
和旧版常量名称:INUSE_ATTRIBUTE_ERR
) SyntaxError
-
字符串与预期模式不匹配。(旧版代码值:
12
和旧版常量名称:SYNTAX_ERR
) InvalidModificationError
-
无法以这种方式修改对象。(旧版代码值:
13
和旧版常量名称:INVALID_MODIFICATION_ERR
) NamespaceError
-
XML 中的命名空间不允许此操作。(旧版代码值:
14
和旧版常量名称:NAMESPACE_ERR
) InvalidAccessError
-
对象不支持此操作或参数。(旧版代码值:
15
和旧版常量名称:INVALID_ACCESS_ERR
) TypeMismatchError
已弃用-
对象的类型与预期类型不匹配。(旧版代码值:
17
和旧版常量名称:TYPE_MISMATCH_ERR
)此值已弃用;现在会引发 JavaScriptTypeError
异常,而不是具有此值的DOMException
。 SecurityError
-
操作不安全。(旧版代码值:
18
和旧版常量名称:SECURITY_ERR
) NetworkError
实验性-
发生网络错误。(旧版代码值:
19
和旧版常量名称:NETWORK_ERR
) AbortError
实验性-
操作已中止。(旧版代码值:
20
和旧版常量名称:ABORT_ERR
) URLMismatchError
实验性-
给定的 URL 与另一个 URL 不匹配。(旧版代码值:
21
和旧版常量名称:URL_MISMATCH_ERR
) QuotaExceededError
实验性-
配额已超出。(旧版代码值:
22
和旧版常量名称:QUOTA_EXCEEDED_ERR
) TimeoutError
-
操作超时。(旧版代码值:
23
和旧版常量名称:TIMEOUT_ERR
) InvalidNodeTypeError
实验性-
节点不正确或对于此操作具有不正确的祖先。(旧版代码值:
24
和旧版常量名称:INVALID_NODE_TYPE_ERR
) DataCloneError
实验性-
无法克隆对象。(旧版代码值:
25
和旧版常量名称:DATA_CLONE_ERR
) EncodingError
实验性-
编码或解码操作失败(无旧版代码值和常量名称)。
NotReadableError
实验性-
输入/输出读取操作失败(无旧版代码值和常量名称)。
UnknownError
实验性-
由于未知的瞬态原因(例如内存不足)操作失败(无旧版代码值和常量名称)。
ConstraintError
实验性-
事务中的变异操作失败,因为约束不满足(无旧版代码值和常量名称)。
DataError
实验性-
提供的数据不足(无旧版代码值和常量名称)。
TransactionInactiveError
实验性-
对当前未激活或已完成的事务发出了请求(无旧版代码值和常量名称)。
ReadOnlyError
实验性-
在“只读”事务中尝试了变异操作(无旧版代码值和常量名称)。
VersionError
实验性-
尝试使用低于现有版本的版本打开数据库(没有遗留代码值和常量名称)。
OperationError
实验性-
操作因特定于操作的原因而失败(没有遗留代码值和常量名称)。
NotAllowedError
-
在当前上下文中,用户代理或平台不允许此请求,可能是因为用户拒绝了权限(没有遗留代码值和常量名称)。
规范
规范 |
---|
Web IDL 标准 # idl-DOMException |
浏览器兼容性
BCD 表格仅在浏览器中加载
另请参阅
DOMException
的 polyfill 可在core-js
中找到。DOMError