|
Arquivo de Códigos - Página Inicial
|
| Você
está aqui:
Inicio
-> Tutoriais
-> JavaScript |
|
|
Tratamento de Erros e Técnicas
de Detecção de Browsers :: Obtendo informações
sobre erros a partir de um bloco try...catch |
Vimos no tópico
anterior que é possível efetuar tratamento
de erros em JavaScript usando um bloco try...catch.
Observe novamente o bloco catch: catch(e){
// tratamento de erros vai aqui
}
O que significa esse "e" como argumento
para o bloco catch? Aqui o "e" (poderia
ser qualquer outro nome válido) representa uma instancia
do objeto Error do JavaScript. É através
deste objeto que conseguimos obter mais informações
sobre um determinado erro.
O objeto Error possui as seguintes propriedades:
| Propriedades |
Descrição |
| description |
Uma descrição
do erro (disponível apenas no IE) |
| fileName
|
Caminho da página que
gerou o erro (somente Mozilla) |
lineNumber |
Número da linha onde o erro ocorreu
(somente Mozilla) |
| message |
Mensagem de erro |
| name |
Nome do erro |
| number |
Número do erro (somente no IE) |
| prototype |
Permite adicionar propriedades ao objeto
Error |
| stack |
Permite o rastreio da pilha (somente Mozilla) |
Algumas destas propriedades estão disponíveis
para o Internet Explorer, enquanto outras estão disponíveis
apenas para os browsers baseados no Mozilla, tais como o Firefox.
Isso significa que você terá que escrever rotinas
de detecção do browser se quiser usar estas propriedades.
Mas não se preocupe. Até o final da leitura deste
texto você estará preparado para fazê-lo.
Veja uma página que usa a propriedade number do objeto
para exibir o número do erro causado: <html>
<head>
<title>Tratamento de erros</title>
</head>
<body>
<script language="javascript">
<!--
try{
// vai dar erro...função
não existe
processar();
}
catch(e){
window.alert("Número do
Erro: " + (e.number & 0xFFFF));
}
//-->
</script>
</body>
</html>
Antes de executar o exemplo saiba que o valor retornado pela
propriedade number é uma valor de 32
bits. Como o código de erro que realmente nos interessa
está nos 16 bits menos significativos, temos que usar
o operador de bits & (AND) para combinar o valor da propriedade
com o número hexadecimal 0xFFFF. Voltemos ao exemplo
agora.
Execute a página a terá o seguinte erro:
Número do Erro:
5007
Pesquisando este valor na [Tabela de Erros JavaScript] obtemos
a informação de que este valor se refere ao erro
"Objeto esperado". Vamos ver se é isso mesmo?
Veja uma modificação do exemplo anterior:
<html>
<head>
<title>Tratamento de erros</title>
</head>
<body>
<script language="javascript">
<!--
try{
// vai dar erro...função
não existe
processar();
}
catch(e){
window.alert("Erro: " + e.message);
}
//-->
</script>
</body>
</html>
Execute este novo exemplo e terá a seguinte mensagem:
Erro: Objeto esperado
Este exemplo nos mostra que as propriedades message
e number são relacionadas. Enquanto
uma se encarrega de mostrar o código do erro a outra
nos presenteia com o erro em si. Outra propriedade que traria
o mesmo resultado é description. |
Este tutorial contém as seguintes
seções:
- Introdução
- Como verificar
se JavaScript está desabilitado no browser
- Detectando erros
a partir do evento onerror do objeto window
- Obtendo informações
sobre a mensagem de erro, a página e a linha da ocorrência
- Não consegue
consertar os erros? Oculte-os
- Tratamento de
erros usando o bloco try...catch
- Obtendo informações sobre erros
a partir de um bloco try...catch
- Como usar o
bloco finallly para complementar o bloco try...catch
- Aprenda a atirar
suas próprias exceções em JavaScript
- Obtendo o nome
e versão do navegador do usuário
- Aprenda a detectar
browsers de acordo com a funcionalidade suportada
- Como verificar
se o browser suporta o DOM da W3C
- AJAX? Verifique
se o browser suporta o objeto XMLHttpRequest
|
|
| |
|
| |
|