- 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>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