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)。这个值已被弃用,现在会抛出 JavaScript TypeError 异常而不是含有该值的 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

参见