DOMException - 表示由于调用方法或访问 Web API 的属性而发生的异常事件

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

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

构造函数

DOMException()

返回带有指定消息和名称的 DOMException 对象。

属性

DOMException.code 只读

返回一个 short,是错误代码常量之中的一个。如果没有匹配则返回 0。该字段用于旧版原因。新的 DOM 异常不再使用它:它们将该信息放在 DOMException.name 属性中。

DOMException.message 只读

返回一个 DOMString,表示与给定错误名称相关联的消息或描述。

DOMException.name 只读

返回一个 DOMString,其中包含错误名称关联中的字符串。

错误名称

这里列出了常见错误名称。有些 API 定义了自己的名称集,因此这不一定是完整的列表。

注意:因为旧版上错误是由一个数值标识的,该数值与定义为具有该值的命名变量相对应,所以下面的一些条目表示过去使用的旧版代码值和常量名称。

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

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

规范

规范 状态 备注
Web IDL
constructor 的定义
候选推荐 增加了 DOMException 类的构造函数。增加了 NotReadableErrorUnknownErrorConstraintErrorDataErrorTransactionInactiveErrorReadOnlyErrorVersionErrorOperationErrorNotAllowedError 值。
DOM4
DOMException 的定义
已过时 增加了 SECURITY_ERRNETWORK_ERRABORT_ERRURL_MISMATCH_ERRQUOTA_EXCEEDED_ERRTIMEOUT_ERRINVALID_NODE_TYPE_ERRDATA_CLONE_ERR。因为有了异常值,所以废弃了 code 属性。增加了 code 值。
Document Object Model (DOM) Level 3 Core Specification
DOMException 的定义
已过时 增加了 VALIDATION_ERRTYPE_MISMATCH_ERR
Document Object Model (DOM) Level 2 Core Specification
DOMException 的定义
已过时 增加了 INVALID_STATE_ERRSYNTAX_ERRINVALID_MODIFICATION_ERRNAMESPACE_ERRINVALID_ACCESS_ERR
Document Object Model (DOM) Level 1 Specification
DOMException 的定义
已过时 初始定义。

桌面浏览器兼容性

特性 Chrome Edge Firefox Internet Explorer Opera Safari
基础支持 支持 支持 1 未知 未知 未知
DOMException() constructor 不支持 不支持 未知 未知 未知 未知
code 支持 支持 1 未知 未知 未知
message 支持 支持 1 未知 未知 未知
name 支持 支持 1 未知 未知 未知

移动浏览器兼容性

特性 Android Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
基础支持 支持 支持 支持 4 未知 未知 未知
DOMException() constructor 不支持 不支持 不支持 未知 未知 未知 未知
code 支持 支持 支持 4 未知 未知 未知
message 支持 支持 支持 4 未知 未知 未知
name 支持 支持 支持 4 未知 未知 未知

相关链接