DOM - objeto DOMException

O DOMException representa um evento anormal que ocorre quando um método ou propriedade é usado.

Propriedades

A tabela abaixo lista as propriedades do objeto DOMException

S.No. Descrição da Propriedade
1

name

Retorna um DOMString que contém uma das strings associadas a uma constante de erro (conforme visto na tabela abaixo).

Tipos de Erro

S.No. Tipo e descrição
1

IndexSizeError

O índice não está no intervalo permitido. Por exemplo, isso pode ser lançado pelo objeto Range. (Valor do código legado: 1 e nome da constante legada: INDEX_SIZE_ERR)

2

HierarchyRequestError

A hierarquia da árvore de nós não está correta. (Valor do código legado: 3 e nome da constante legada: HIERARCHY_REQUEST_ERR)

3

WrongDocumentError

O objeto está no documento errado. (Valor do código legado: 4 e nome da constante legada: WRONG_DOCUMENT_ERR)

4

InvalidCharacterError

A string contém caracteres inválidos. (Valor do código legado: 5 e nome da constante legada: INVALID_CHARACTER_ERR)

5

NoModificationAllowedError

O objeto não pode ser modificado. (Valor do código legado: 7 e nome da constante legada: NO_MODIFICATION_ALLOWED_ERR)

6

NotFoundError

O objeto não pode ser encontrado aqui. (Valor do código legado: 8 e nome da constante legada: NOT_FOUND_ERR)

7

NotSupportedError

A operação não é compatível. (Valor do código legado: 9 e nome da constante legada: NOT_SUPPORTED_ERR)

8

InvalidStateError

O objeto está em um estado inválido. (Valor do código legado: 11 e nome da constante legada: INVALID_STATE_ERR)

9

SyntaxError

A string não corresponde ao padrão esperado. (Valor do código legado: 12 e nome da constante legada: SYNTAX_ERR)

10

InvalidModificationError

O objeto não pode ser modificado desta forma. (Valor do código legado: 13 e nome da constante legada: INVALID_MODIFICATION_ERR)

11

NamespaceError

A operação não é permitida por namespaces em XML. (Valor do código legado: 14 e nome da constante legada: NAMESPACE_ERR)

12

InvalidAccessError

O objeto não suporta a operação ou argumento. (Valor do código legado: 15 e nome da constante legada: INVALID_ACCESS_ERR)

13

TypeMismatchError

O tipo do objeto não corresponde ao tipo esperado. (Valor do código legado: 17 e nome da constante legada: TYPE_MISMATCH_ERR) Este valor está obsoleto, a exceção JavaScript TypeError agora é gerada em vez de uma DOMException com este valor.

14

SecurityError

A operação é insegura. (Valor do código legado: 18 e nome da constante legada: SECURITY_ERR)

15

NetworkError

Ocorreu um erro de rede. (Valor do código legado: 19 e nome da constante legada: NETWORK_ERR)

16

AbortError

A operação foi abortada. (Valor do código legado: 20 e nome da constante legada: ABORT_ERR)

17

URLMismatchError

O URL fornecido não corresponde a outro URL. (Valor do código legado: 21 e nome da constante legada: URL_MISMATCH_ERR)

18

QuotaExceededError

A cota foi excedida. (Valor do código legado: 22 e nome da constante legada: QUOTA_EXCEEDED_ERR)

19

TimeoutError

A operação expirou. (Valor do código legado: 23 e nome da constante legada: TIMEOUT_ERR)

20

InvalidNodeTypeError

O nó está incorreto ou possui um ancestral incorreto para esta operação. (Valor do código legado: 24 e nome da constante legada: INVALID_NODE_TYPE_ERR)

21

DataCloneError

O objeto não pode ser clonado. (Valor do código legado: 25 e nome da constante legada: DATA_CLONE_ERR)

22

EncodingError

A operação de codificação, sendo uma codificação ou decodificação, falhou (nenhum valor de código legado e nome constante).

23

NotReadableError

A operação de leitura de entrada / saída falhou (nenhum valor de código legado e nome de constante).

Exemplo

O exemplo a seguir demonstra como usar um documento XML mal formado causa uma DOMException.

O conteúdo do error.xml é o seguinte -

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

O exemplo a seguir demonstra o uso do atributo 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>

Execução

Salve este arquivo como domexcption_name.html no caminho do servidor (este arquivo e error.xml devem estar no mesmo caminho em seu servidor). Obteremos a saída conforme mostrado abaixo -

TypeError