DOM - DOMException 对象


DOMException表示使用方法或属性时发生的异常事件

特性

下表列出了 DOMException 对象的属性

编号 属性及描述
1

姓名

返回一个 DOMString,其中包含与错误常量关联的字符串之一(如下表所示)。

错误类型

编号 类型和描述
1

索引大小错误

索引不在允许的范围内。例如,这可以由 Range 对象抛出。(旧代码值:1 和旧常量名称:INDEX_SIZE_ERR)

2

层次结构请求错误

节点树层次结构不正确。(旧代码值:3 和旧常量名称:HIERARCHY_REQUEST_ERR)

3

错误文档错误

该对象位于错误的文档中。(旧代码值:4 和旧常量名称:WRONG_DOCUMENT_ERR)

4

无效字符错误

该字符串包含无效字符。(旧代码值:5 和旧常量名称:INVALID_CHARACTER_ERR)

5

不允许修改错误

无法修改该对象。(旧代码值:7 和旧常量名称:NO_MODIFICATION_ALLOWED_ERR)

6

未发现错误

此处无法找到该对象。(旧代码值:8 和旧常量名称:NOT_FOUND_ERR)

7

不支持错误

不支持该操作。(旧代码值:9 和旧常量名称:NOT_SUPPORTED_ERR)

8

无效状态错误

该对象处于无效状态。(旧代码值:11 和旧常量名称:INVALID_STATE_ERR)

9

语法错误

该字符串与预期模式不匹配。(旧代码值:12 和旧常量名称:SYNTAX_ERR)

10

无效修改错误

不能以这种方式修改该对象。(旧代码值:13 和旧常量名称:INVALID_MODIFICATION_ERR)

11

命名空间错误

XML 中的命名空间不允许该操作。(旧代码值:14 和旧常量名称:NAMESPACE_ERR)

12

无效访问错误

该对象不支持该操作或参数。(旧代码值:15 和旧常量名称:INVALID_ACCESS_ERR)

13

类型不匹配错误

对象的类型与预期类型不匹配。(旧代码值:17 和旧常量名称:TYPE_MISMATCH_ERR)此值已弃用,现在引发 JavaScript TypeError 异常,而不是具有此值的 DOMException。

14

安全错误

操作不安全。(旧代码值:18 和旧常量名称:SECURITY_ERR)

15

网络错误

发生网络错误。(旧代码值:19 和旧常量名称:NETWORK_ERR)

16

中止错误

操作被中止。(旧代码值:20 和旧常量名称:ABORT_ERR)

17 号

URL不匹配错误

给定的 URL 与另一个 URL 不匹配。(旧代码值:21 和旧常量名称:URL_MISMATCH_ERR)

18

超出配额错误

已超出配额。(旧代码值:22 和旧常量名称:QUOTA_EXCEEDED_ERR)

19

超时错误

操作超时。(旧代码值:23 和旧常量名称:TIMEOUT_ERR)

20

无效节点类型错误

此操作的节点不正确或具有不正确的祖先。(旧代码值:24 和旧常量名称:INVALID_NODE_TYPE_ERR)

21

数据克隆错误

无法克隆该对象。(旧代码值:25 和旧常量名称:DATA_CLONE_ERR)

22

编码错误

编码操作(无论是编码还是解码)失败(没有遗留代码值和常量名称)。

23

无法读取错误

输入/输出读取操作失败(无遗留代码值和常量名称)。

例子

以下示例演示了使用格式不正确的 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>tanmaypatil@xyz.com</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