Instrução try/catch/finally em JavaScript
- Página anterior throw
- Próxima página var
- Voltar à página anterior Manual de Referência Sentenças JavaScript
Definição e uso
A instrução try/catch/finally trata parte ou todos os erros que podem ocorrer no bloco de código, continuando a executar o código.
Os erros podem ser causados por erros de codificação do programador, erros de entrada incorretos e outras situações imprevisíveis.
A instrução try permite que você defina um bloco de código que deve ser testado durante a execução para erros.
Se ocorrer um erro no bloco try, a instrução catch permite que você defina o bloco de código a ser executado.
A instrução finally permite que você execute código após o try e catch, independentemente do resultado.
Notas:As instruções catch e finally são opcionais, mas ao usar a instrução try, é necessário usar uma delas (a menos que sejam usadas simultaneamente).
Dica:Quando ocorre um erro, o JavaScript geralmente para e gera uma mensagem de erro. Use a instrução throw para criar erros personalizados (lançar exceções). Se usar throw com try e catch, você pode controlar o fluxo do programa e gerar mensagens de erro personalizadas.
Para mais informações sobre erros do JavaScript, aprenda o tutorial de erros do JavaScript.
Exemplo
Neste exemplo, cometemos um erro de digitação no código.
Este exemplo deve prompt "Welcome guest!", mas houve um erro na ortografia do alert.
O bloco catch captura o erro e executa o código para lidar com ele:
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("Welcome guest!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
Mais exemplos TIY estão na parte inferior da página.
Sintaxe
try { tryCode - Bloco de código a ser tentado } catch(err) { catchCode - Bloco de código para lidar com erros } finally { finallyCode - Bloco de código a ser executado independentemente do resultado de try / catch }
Valor do parâmetro
Parâmetro | Descrição |
---|---|
tryCode | Obrigatório. Bloco de código a ser testado durante a execução para verificar o erro. |
err | Obrigatório, se usado com catch. Especifica a variável local de referência do erro. Esta variável pode referenciar o objeto Error (que contém informações sobre o erro ocorrido, por exemplo, a mensagem "'addlert' is not defined"). Se a exceção for criada por uma instrução throw, a variável se refere ao objeto especificado na instrução throw (veja "Mais exemplos"). |
catchCode | Opcional. Bloco de código a ser executado se ocorrer um erro no bloco try. Se não ocorrer erro, este bloco nunca será executado. |
finallyCode | Opcional. Bloco de código a ser executado independentemente do resultado de try / catch. |
Detalhes técnicos
Versão do JavaScript: | ECMAScript 3 |
---|
Mais exemplos
Exemplo
Este exemplo verifica a entrada. Se o valor estiver errado, lança uma exceção (err).
A declaração catch captura exceções (err) e exibe mensagens de erro personalizadas:
<!DOCTYPE html> <html> <body> <p>Por favor, insira um número entre 5 e 10:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">Testar Entrada</button> <p id="message"></p> <script> function myFunction() { var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "is Empty"; if(isNaN(x)) throw "not a number"; if(x > 10) throw "too high"; if(x < 5) throw "too low"; } catch(err) { message.innerHTML = "Input " + err; } } </script> </body> </html>
Exemplo
A declaração finally permite que você execute código após o try e catch, independentemente do resultado:
function myFunction() var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "Empty"; if(isNaN(x)) throw "Not a number"; if(x > 10) throw "Too high"; if(x < 5) throw "Too low"; } catch(err) { message.innerHTML = "Erro: " + err + "."; } finally { document.getElementById("demo").value = ""; } }
navegador suporta
语句 | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
try/catch/finally | Suporte | Suporte | Suporte | Suporte | Suporte |
Páginas relacionadas
Tutorial de JavaScript:Erro do JavaScript
Manual de referência do JavaScript:Sentença throw do JavaScript
- Página anterior throw
- Próxima página var
- Voltar à página anterior Manual de Referência Sentenças JavaScript