DOMException
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
DOMException
接口代表调用方法或访问 Web API 属性时发生的不正常事件(被称为异常,exception)。这就是 Web API 中描述错误条件的方式。
每个异常都有一个名称(name),一个采用驼峰命名法的简短字符串,用于描述识别错误或异常情况。
DOMException
是一个可序列化对象,因此可以使用 structuredClone()
克隆,或使用 postMessage()
在 Worker 之间复制。
构造函数
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
) 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
实验性-
当前上下文中的用户代理或平台不允许该请求,可能是因为用户拒绝了授权(没有遗留代码值和常量的名字)。
规范
Specification |
---|
Web IDL Standard # idl-DOMException |
浏览器兼容性
BCD tables only load in the browser