tutoriais mais recente desenvolvimento web
 

JavaScript tente / captura / finalmente Declaração

<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

Exemplos

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