XML DOM | DOMException Object

XML DOM - DOMException Object


Hello folks! welcome back to a new edition of our tutorial on XML DOM. In this tutorial, we will be discussing about the XML DOM DOMException Object

XML DOM DOMException Object represents an unusual event occurring when a method or property is used.

XML DOM DOMException Object Properties

Following table below lists the properties of the XML DOM DOMException Object -

S.No.Property & Description
1

name

Returns a DOMString that contains one of the string associated with an error constant (as seen the table below).



Error Types

The following table below lists the various Error Types available -

S.No.Type & Description
1

IndexSizeError

The index is not in the allowed range. For example, this can be thrown by the Range object. (Legacy code value: 1 and legacy constant name: INDEX_SIZE_ERR)

2

HierarchyRequestError

The node tree hierarchy is not correct. (Legacy code value: 3 and legacy constant name: HIERARCHY_REQUEST_ERR)

3

WrongDocumentError

The object is in the wrong document. (Legacy code value: 4 and legacy constant name: WRONG_DOCUMENT_ERR)

4

InvalidCharacterError

The string contains invalid characters. (Legacy code value: 5 and legacy constant name: INVALID_CHARACTER_ERR)

5

NoModificationAllowedError

The object cannot be modified. (Legacy code value: 7 and legacy constant name: NO_MODIFICATION_ALLOWED_ERR)

6

NotFoundError

The object cannot be found here. (Legacy code value: 8 and legacy constant name: NOT_FOUND_ERR)

7

NotSupportedError

The operation is not supported. (Legacy code value: 9 and legacy constant name: NOT_SUPPORTED_ERR)

8

InvalidStateError

The object is in an invalid state. (Legacy code value: 11 and legacy constant name: INVALID_STATE_ERR)

9

SyntaxError

The string did not match the expected pattern. (Legacy code value: 12 and legacy constant name: SYNTAX_ERR)

10

InvalidModificationError

The object cannot be modified in this way. (Legacy code value: 13 and legacy constant name: INVALID_MODIFICATION_ERR)

11

NamespaceError

The operation is not allowed by Namespaces in XML. (Legacy code value: 14 and legacy constant name: NAMESPACE_ERR)

12

InvalidAccessError

The object does not support the operation or argument. (Legacy code value: 15 and legacy constant name: INVALID_ACCESS_ERR)

13

TypeMismatchError

The type of the object does not match the expected type. (Legacy code value: 17 and legacy constant name: TYPE_MISMATCH_ERR) This value is deprecated, the JavaScript TypeError exception is now raised instead of a DOMException with this value.

14

SecurityError

The operation is insecure. (Legacy code value: 18 and legacy constant name: SECURITY_ERR)

15

NetworkError

A network error occurred. (Legacy code value: 19 and legacy constant name: NETWORK_ERR)

16

AbortError

The operation was aborted. (Legacy code value: 20 and legacy constant name: ABORT_ERR)

17

URLMismatchError

The given URL does not match another URL. (Legacy code value: 21 and legacy constant name: URL_MISMATCH_ERR)

18

QuotaExceededError

The quota has been exceeded. (Legacy code value: 22 and legacy constant name: QUOTA_EXCEEDED_ERR)

19

TimeoutError

The operation timed out. (Legacy code value: 23 and legacy constant name: TIMEOUT_ERR)

20

InvalidNodeTypeError

The node is incorrect or has an incorrect ancestor for this operation. (Legacy code value: 24 and legacy constant name: INVALID_NODE_TYPE_ERR)

21

DataCloneError

The object cannot be cloned. (Legacy code value: 25 and legacy constant name: DATA_CLONE_ERR)

22

EncodingError

The encoding operation, being an encoding or a decoding one, failed (No legacy code value and constant name).

23

NotReadableError

The input/output read operation failed (No legacy code value and constant name).


Example

Following example below shows how using a not well-formed XML document causes a DOMException -

Following are the error.xml contents -

<?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?>
<Company id = "companyid">
   <Employee category = "Technical" id = "firstelement" type = "text/html">
      <FirstName>Kennedy</first>
      <LastName>Nkpara</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>kennedynkpara@xyz.com</Email>
   </Employee>
</Company>


The following example illustrates the usage of the name attribute -

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

Output

Save this file as domexception_name.html on the server's path (this file and error.xml should be on the same path in your server). This is going to give us the following output below -

TypeError


Alright guys! This is where we are going to be rounding up for this tutorial post. In our next tutorial, we will be starting our tutorial series on Bootstrap with an Introduction.

Feel free to ask your questions where necessary and we will attend to them as soon as possible. If this tutorial was helpful to you, you can use the share button to share this tutorial.

Follow us on our various social media platforms to stay updated with our latest tutorials. You can also subscribe to our newsletter in order to get our tutorials delivered directly to your emails.

Thanks for reading and bye for now.