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>Exception</first>
<LastName>Su</LastName>
<ContactNo>08981234567890</ContactNo>
<Email>[email protected]</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>
執行上面範例程式碼,得到以下結果 -