Vimos no tópico
anterior como é possível usar o bloco try...catch
para tratar possíveis erros em um código JavaScript.
Porém, é importante fornecer mecanismos para que
uma aplicação possa se recuperar de um erro, possivelmente
restaurando valores de variáveis ou campos de formulários.
O bloco finally pode ser usado em conjunto
com o bloco try...catch para fornecer uma forma
de restaurar valores de variáveis que podem ter sofrido
alterações durante a execução do
bloco try caso este não possa ser concluído
com sucesso. Veja a sintaxe completa:
try{
// vai dar erro...função não
existe
processar();
}
catch(e){
window.alert("Erro: " + e.message);
}
finally{
window.alert("Recuperação da
aplicação continua aqui.");
}
Lembre-se de que o bloco finally é executado
imediatamente após o bloco catch se
algum erro ocorrer no bloco try. Caso nenhum
erro ocorra, o bloco finally é executado
imediatamente após o bloco try. Veja
um trecho de código que avisa o usuário de que
um erro ocorreu e direciona o browser para uma outra página:
<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("Houve um erro. Você
será direcionado 
para outra
página");
}
finally{
window.location.href = "http://www.recomende.com";
}
//-->
</script>
</body>
</html>
Você pode usar esta técnica como forma de tornar
seus códigos JavaScript mais robustos e ainda fornecer
feedback aos seus usuários. |