Precisa de um freelancer, códigos-fonte e exemplos completos? Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
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.
Todo o conteúdo deste site,
quando não devidamente observado, pertence a seus idealizadores
e não
poderá ser usado para outras finalidades senão estudo e
aprimoramento de técnicas de programação.
Certifique-se de ler asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.