DOMException
Baseline 广泛可用 *
注意:此功能在 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 |
浏览器兼容性
加载中…
另见
core-js中提供了DOMException的 垫片(polyfill)DOMError