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)此值已弃用;现在会引发 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

在当前上下文中,用户代理或平台不允许此请求,可能是因为用户拒绝了权限(没有遗留代码值和常量名称)。

规范

规范
Web IDL 标准
# idl-DOMException

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅