English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Declaração try...catch do JavaScript

 Declaração de Sentenças e Variáveis do JavaScript

try ... catchA declaração marca o bloco de código a ser tentado e especifica a resposta quando uma exceção (erro) for lançada.

A declaração try é composta por um bloco try, que contém uma ou mais declarações. {} deve ser usado sempre para uma única declaração.

Pelo menos uma cláusula catch ou cláusula finally deve existir. Isso fornece três formas para a declaração try:

  • try...catch

  • try...finally

  • try...catch...finally

UsetryA declaração pode definir um bloco de código que será testado por erro ao ser executado.

catchA declaração permite que você defina um bloco de código que será executado, se ocorrer um erro no bloco try.

finallyNo declaração, após o try e o catch, você pode executar o código independentemente do resultado.

Atenção: As declarações catch e finally são opcionais, mas ao usar a declaração try, você precisa usar uma delas (se não puder usar ambas).

UsethrowA declaração cria um erro personalizado (lança uma exceção). Se você quiserthrowAo usar o try e o catch juntos, é possível especificar o fluxo do programa e gerar mensagens de erro personalizadas (veja mais exemplos abaixo).

Você pode encontrar em nossoTutoriais de exceções do JavaScriptSaiba mais sobre exceções no tutorial de exceções do JavaScript.

Sintaxe:

try {
   //try_statements-Sentenças a serem tentadas
}
catch(err) {
   //catch_statements-Sentenças para lidar com erros
}
finally {
  //finally_statements-Independentemente do try / Sentenças a serem executadas, independentemente do resultado do catch
}
try {
   aaalert("Hello world");
}
catch(err) {
   document.getElementById("result").innerHTML = err;
}
Teste e veja‹/›

Compatibilidade do navegador

Todos os navegadores suportam completamente a sentença try ... catch:

Statement
try...catchééééé

Valor do parâmetro

ParâmetroDescrição
try_statementsSentenças a serem executadas.
errIdentificador do objeto de exceção associado à cláusula catch. VejaObjeto de erro
catch_statements(Opcional) Sentenças executadas quando uma exceção é lançada no bloco try. Este bloco nunca será executado se não houver erros.
finally_statements(Opcional) Sentenças executadas após a conclusão da sentença try. independentemente de terem sido lançadas exceções ou capturadas.

Detalhes técnicos

Versão do JavaScript:ECMAScript 3

Mais exemplos

EmfinallyNa declaração, você pode executar código, após o try e catch, independentemente do resultado:

try {
   aaalert("Hello world");
}
catch(err) {
   document.getElementById("result").innerHTML = err;
}
finally {
   document.getElementById("result").innerHTML += "<h3>Sentença finally executada</h3>";
}
Teste e veja‹/›

catchefinallyAs sentenças são opcionais, mas ao usar a sentença try, você precisa usar uma delas (se não puder usar ao mesmo tempo):

try {
   aaalert("Hello world");
}
finally {
   document.getElementById("result").innerHTML = "Sentença de execução final";
}
Teste e veja‹/›

UsethrowA statement cria um erro personalizado (lança exceção):

function getRectArea(width, height) {
   if (isNaN(width) || isNaN(height)) {
  throw "Os parâmetros não são números!";
   }
}
try {
   getRectArea(5, 'Z');
}
catch(err) {
   document.getElementById('para').innerHTML = err;
}
Teste e veja‹/›

Verifique a entrada, se o valor estiver incorreto, lance uma exceção (err).catchCapturar exceções de sentenças (err) e exibir mensagens de erro personalizadas:

var x = document.querySelector("input").value;
try {
   if(x == "")    throw "is Empty";
   )    throw "Not a Number";
   if(x > 10)    throw "too High";
   if(x < 5)throw "too Low";
}
catch(err) {
   document.getElementById("para").innerHTML = "Input " + err;
}
Teste e veja‹/›

Também pode verificar

Tutorial do JavaScript:Exceções do JavaScript

Referência do JavaScript:Objeto de Erro do JavaScript

Referência do JavaScript:Sentença throw do JavaScript

 Declaração de Sentenças e Variáveis do JavaScript