<JavaScript Demonstrações Referência
Exemplo
Neste exemplo, nós fizemos um erro de digitação no código (no bloco try).
O exemplo é suposto para alertar "Welcome guest!" , Mas alerta está mal escrito.
O bloco catch identificou o erro, e executa um código para lidar com isso:
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
try {
adddlert("Welcome guest!");
}
catch(err) {
document.getElementById("demo").innerHTML = err.message;
}
</script>
</body>
</html>
Tente você mesmo " Mais "Try it Yourself" exemplos abaixo.
Definição e Uso
O try / catch / finally lida com alguns ou todos os erros que podem ocorrer em um bloco de código, enquanto ainda estiver executando código.
Os erros podem ser erros de codificação feitos pelo programador, erros devido à entrada errada, e outras coisas imprevisíveis.
A instrução try permite definir um bloco de código para ser testado para erros enquanto ele está sendo executado.
A instrução catch permite que você defina um bloco de código a ser executado, se ocorrer um erro no bloco try.
O finalmente declaração permite executar código, depois de tentativa e captura, independentemente do resultado.
Nota: A captura e, finalmente, as declarações são opcionais, mas você precisa usar um deles (if not both) durante o uso da instrução try.
Dica: Quando ocorre um erro, JavaScript, normalmente parar, e gerar uma mensagem de erro. Use o lance instrução para criar um erro personalizado (throw an exception) . Se você usar jogar juntos com try e catch, você pode controlar o fluxo do programa e gerar mensagens de erro personalizadas.
Para mais informações sobre erros de JavaScript, leu JavaScript Erros Tutorial.
Suporte navegador
Declaração | |||||
---|---|---|---|---|---|
try/catch/finally | sim | sim | sim | sim | sim |
Sintaxe
try {
tryCode - Block of code to try
}
catch( err ) {
catchCode -
Block of code to handle errors
}
finally {
finallyCode - Block of
code to be executed regardless of the try / catch result
}
Os valores dos parâmetros
Parâmetro | Descrição |
---|---|
tryCode | Requeridos. Bloco de código para ser testado para erros enquanto ele está sendo executado |
err | Necessário se usado com captura. Especifica uma variável local que se refere ao erro. A variável pode se referir ao objeto Error (contém informações sobre o erro ocorreu, como a mensagem " 'addlert' não está definido"). Se a exceção foi criado pela instrução throw, a variável se refere ao objeto especificado na instrução throw (ver "Mais exemplos") |
catchCode | Opcional. Bloco de código a ser executado, se ocorrer um erro no bloco try. Se não houver erro, este bloco de código nunca é executado |
finallyCode | Opcional. Bloco de código a ser executado independentemente do resultado try / catch |
Detalhes técnicos
JavaScript Versão: | 1,4 |
---|
mais Exemplos
Exemplo
Este exemplo examina entrada. Se o valor está errado, uma exceção (err) é lançada.
A exceção (err) é apanhado pela instrução catch e uma mensagem de erro personalizada é exibida:
<!DOCTYPE html>
<html>
<body>
<p>Please input a number between
5 and 10:</p>
<input id="demo" type="text">
<button type="button"
onclick="myFunction()">Test Input</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>
Tente você mesmo " Exemplo
O finalmente declaração permite executar código, depois de tentativa e captura, 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 = "Error: " +
err + ".";
}
finally {
document.getElementById("demo").value
= "";
}
}
Tente você mesmo " Páginas relacionadas
JavaScript Tutorial: erros de JavaScript
JavaScript Referência: JavaScript instrução throw
<JavaScript Demonstrações Referência