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

Namespaces ไม่อนุญาตการดำเนินการใน 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>

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้แอตทริบิวต์ชื่อ -

<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