No tópico
anterior vimos que é possível usar o evento
onerror do objeto window para
detectar quando um erro de JavaScript ocorre na página.
Podemos ir um pouco adiante e obter mais informações
sobre o erro, tais como a mensagem, a URL da página e
a linha exata em que o erro ocorreu. Veja o trecho de código
a seguir:
<html>
<head>
<title>Tratamento de erros</title>
</head>
<body>
<script language="javascript">
<!--
window.onerror = avisar;
// esta linha provocará um erro
window.alert(carregar()); // função
carregar() não existe
function avisar(msg, url, line){
window.alert("Houve um erro de
execução.");
window.alert("Mensagem de erro:
" + msg);
window.alert("URL da página:
" + url);
window.alert("Linha de código:
" + line);
}
//-->
</script>
</body>
</html>
Execute este código e verá quatro caixas de mensagens
com os seguintes avisos:
a)
Houve um erro de execução.
b) Mensagem de erro: Objeto esperado
c) URL da página: http://www.recomende.com/estudo.htm
d) Linha de código: 12
Veja que estas informações são suficientes
para que você consiga rastrear o erro e consertá-lo
antes que seus usuários comecem a visitar o site dos
concorrentes. Se estiver usando Firefox, a mensagem de erro
será mais precisa ainda. Veja: Mensagem
de erro: carregar is not defined
De fato, o Firefox está certo. A função
carregar não existe na página.
Muito melhor que o "Objeto esperado" do Internet Explorer,
não concorda? |