DevPath · Aprenda a programar ESPTEN

Tratamento de erros

try, catch e finally

Quando algo falha

Há operações que podem falhar: ler um dado que não existe, converter um texto em número, dividir por zero de forma inválida... Se você não controlar isso, um erro interrompe a execução do programa. Para tratá-lo de forma controlada usa-se o bloco try...catch.

try {
  // código que pode falhar
  const dados = JSON.parse("isto não é JSON");
} catch (error) {
  // executa apenas se houve um erro
  console.log("Algo deu errado:", error.message);
}

O bloco finally

É opcional e executa sempre, havendo erro ou não. Serve para tarefas de limpeza (fechar conexões, ocultar um indicador de carregamento...):

try {
  fazerAlgo();
} catch (error) {
  console.log("Erro:", error.message);
} finally {
  console.log("Isto executa aconteça o que acontecer");
}

Exemplos

Capturar um erro e continuar

function parsear(texto) {
  try {
    return JSON.parse(texto);
  } catch (error) {
    console.log("JSON inválido:", error.message);
    return null;
  }
}
console.log(parsear('{"ok":true}'));
console.log(parsear("não é json"));
Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
Lançar erros com throw →