- XML DOM 基础
- XML DOM - 首页
- XML DOM - 概述
- XML DOM - 模型
- XML DOM - 节点
- XML DOM - 节点树
- XML DOM - 方法
- XML DOM - 加载
- XML DOM - 遍历
- XML DOM - 导航
- XML DOM - 访问
- XML DOM 操作
- XML DOM - 获取节点
- XML DOM - 设置节点
- XML DOM - 创建节点
- XML DOM - 添加节点
- XML DOM - 替换节点
- XML DOM - 删除节点
- XML DOM - 克隆节点
- XML DOM 对象
- DOM - Node 对象
- DOM - NodeList 对象
- DOM - NamedNodeMap 对象
- DOM - DOMImplementation
- DOM - DocumentType 对象
- DOM - ProcessingInstruction
- DOM - Entity 对象
- DOM - EntityReference 对象
- DOM - Notation 对象
- DOM - Element 对象
- DOM - Attribute 对象
- DOM - CDATASection 对象
- DOM - Comment 对象
- DOM - XMLHttpRequest 对象
- DOM - DOMException 对象
- XML DOM 有用资源
- XML DOM - 快速指南
- XML DOM - 有用资源
- XML DOM - 讨论
DOM - DOMException 对象
DOMException 表示在使用方法或属性时发生的异常事件。
属性
下表列出了 DOMException 对象的属性
序号 | 属性及描述 |
---|---|
1 | name 返回一个 DOMString,其中包含与错误常量关联的字符串之一(如下表所示)。 |
错误类型
序号 | 类型及描述 |
---|---|
1 | IndexSizeError 索引不在允许的范围内。例如,这可能由 Range 对象抛出。(旧版代码值:1 和旧版常量名称:INDEX_SIZE_ERR) |
2 | HierarchyRequestError 节点树层次结构不正确。(旧版代码值:3 和旧版常量名称:HIERARCHY_REQUEST_ERR) |
3 | WrongDocumentError 对象在错误的文档中。(旧版代码值:4 和旧版常量名称:WRONG_DOCUMENT_ERR) |
4 | InvalidCharacterError 字符串包含无效字符。(旧版代码值:5 和旧版常量名称:INVALID_CHARACTER_ERR) |
5 | NoModificationAllowedError 无法修改对象。(旧版代码值:7 和旧版常量名称:NO_MODIFICATION_ALLOWED_ERR) |
6 | NotFoundError 在此处找不到对象。(旧版代码值:8 和旧版常量名称:NOT_FOUND_ERR) |
7 | NotSupportedError 不支持该操作。(旧版代码值:9 和旧版常量名称:NOT_SUPPORTED_ERR) |
8 | InvalidStateError 对象处于无效状态。(旧版代码值:11 和旧版常量名称:INVALID_STATE_ERR) |
9 | SyntaxError 字符串与预期模式不匹配。(旧版代码值:12 和旧版常量名称:SYNTAX_ERR) |
10 | InvalidModificationError 无法以这种方式修改对象。(旧版代码值:13 和旧版常量名称:INVALID_MODIFICATION_ERR) |
11 | NamespaceError XML 中的命名空间不允许此操作。(旧版代码值:14 和旧版常量名称:NAMESPACE_ERR) |
12 | InvalidAccessError 对象不支持该操作或参数。(旧版代码值:15 和旧版常量名称:INVALID_ACCESS_ERR) |
13 | TypeMismatchError 对象的类型与预期类型不匹配。(旧版代码值:17 和旧版常量名称:TYPE_MISMATCH_ERR)此值已弃用,现在引发 JavaScript TypeError 异常而不是具有此值的 DOMException。 |
14 | SecurityError 操作不安全。(旧版代码值:18 和旧版常量名称:SECURITY_ERR) |
15 | NetworkError 发生网络错误。(旧版代码值:19 和旧版常量名称:NETWORK_ERR) |
16 | AbortError 操作已中止。(旧版代码值:20 和旧版常量名称:ABORT_ERR) |
17 | URLMismatchError 给定的 URL 与另一个 URL 不匹配。(旧版代码值:21 和旧版常量名称:URL_MISMATCH_ERR) |
18 | QuotaExceededError 配额已超出。(旧版代码值:22 和旧版常量名称:QUOTA_EXCEEDED_ERR) |
19 | TimeoutError 操作超时。(旧版代码值:23 和旧版常量名称:TIMEOUT_ERR) |
20 | InvalidNodeTypeError 节点不正确或对于此操作具有不正确的祖先。(旧版代码值:24 和旧版常量名称:INVALID_NODE_TYPE_ERR) |
21 | DataCloneError 无法克隆对象。(旧版代码值:25 和旧版常量名称:DATA_CLONE_ERR) |
22 | EncodingError 编码操作(编码或解码)失败(无旧版代码值和常量名称)。 |
23 | NotReadableError 输入/输出读取操作失败(无旧版代码值和常量名称)。 |
示例
以下示例演示了使用格式不正确的 XML 文档如何导致 DOMException。
error.xml 内容如下所示:
<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?> <Company id = "companyid"> <Employee category = "Technical" id = "firstelement" type = "text/html"> <FirstName>Tanmay</first> <LastName>Patil</LastName> <ContactNo>1234567890</ContactNo> <Email>[email protected]</Email> </Employee> </Company>
以下示例演示了name 属性的使用方法:
<html> <head> <script> function loadXMLDoc(filename) { if (window.XMLHttpRequest) { xhttp = new XMLHttpRequest(); } else // code for IE5 and IE6 { xhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",filename,false); xhttp.send(); return xhttp.responseXML; } </script> </head> <body> <script> try { xmlDoc = loadXMLDoc("/dom/error.xml"); var node = xmlDoc.getElementsByTagName("to").item(0); var refnode = node.nextSibling; var newnode = xmlDoc.createTextNode('That is why you fail.'); node.insertBefore(newnode, refnode); } catch(err) { document.write(err.name); } </script> </body> </html>
执行
将此文件另存为服务器路径上的domexcption_name.html(此文件和 error.xml 应位于服务器上的同一路径)。我们将获得如下所示的输出:
TypeError