DOM - объект DOMException
DOMException представляет собой ненормальное событие происходит , когда метод или свойство используется.
Свойства
В таблице ниже перечислены свойства объекта DOMException.
| S.No. | Описание недвижимости | 
|---|---|
| 1 | name Возвращает DOMString, который содержит одну из строк, связанных с константой ошибки (как показано в таблице ниже). | 
Типы ошибок
| S.No. | Тип и описание | 
|---|---|
| 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) Это значение устарело, теперь вместо DOMException с этим значением возникает исключение JavaScript TypeError. | 
| 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>Следующий пример демонстрирует использование атрибута 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