DOMException表示使用方法或屬性時發生的異常事件。
1. 屬性
下表列出了DOMException對象的屬性 -
| 序號 | 屬性 | 描述 |
|---|---|---|
| 1 | name |
返回一個DOMString,其中包含與錯誤常量關聯的字串之一(如下表所示)。 |
2. 錯誤類型
| 序號 | 類型 | 描述 |
|---|---|---|
| 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 |
輸入/輸出讀取操作失敗(沒有遺留代碼值和常量名稱)。 |
3. 示例
下麵的示例演示了如何使用格式不正確的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>Exception</first>
<LastName>Su</LastName>
<ContactNo>08981234567890</ContactNo>
<Email>exception@xuhuhu.com</Email>
</Employee>
</Company>
以下示例演示了Error.name屬性的用法 -
<!DOCTYPE html>
<html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<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("/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>
執行上面示例代碼,得到以下結果 -

上一篇:
DOM XMLHttpRequest對象
下一篇:無
