DOMException

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

注意:此功能在 Web Workers 中可用。

DOMException 接口表示调用 Web API 的方法或访问属性时发生的异常事件(称为异常)。这是 Web API 中描述错误条件的方式。

每个异常都有一个名称,这是一个简短的“PascalCase”格式的字符串,用于标识错误或异常情况。

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

InUseAttributeError

该属性正在使用中。(旧代码值:10 和旧常量名称:INUSE_ATTRIBUTE_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)这是一个从 DOMException 派生的正确接口。

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

浏览器兼容性

另见