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