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 类的构造函数。增加了 NotReadableError ,UnknownError ,ConstraintError ,DataError ,TransactionInactiveError ,ReadOnlyError ,VersionError ,OperationError 和 NotAllowedError 值。 |
DOM4 DOMException 的定义 |
已过时 | 增加了 SECURITY_ERR ,NETWORK_ERR ,ABORT_ERR ,URL_MISMATCH_ERR ,QUOTA_EXCEEDED_ERR ,TIMEOUT_ERR ,INVALID_NODE_TYPE_ERR 和 DATA_CLONE_ERR 。因为有了异常值,所以废弃了 code 属性。增加了 code 值。 |
Document Object Model (DOM) Level 3 Core Specification DOMException 的定义 |
已过时 | 增加了 VALIDATION_ERR 和 TYPE_MISMATCH_ERR 。 |
Document Object Model (DOM) Level 2 Core Specification DOMException 的定义 |
已过时 | 增加了 INVALID_STATE_ERR ,SYNTAX_ERR ,INVALID_MODIFICATION_ERR ,NAMESPACE_ERR 和 INVALID_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 | 未知 | 未知 | 未知 |