Bloco try-catch-finally


Em JavaScript, o bloco try-catch-finally é usado para lidar com exceções de forma estruturada. Esse bloco permite que os desenvolvedores controlem o fluxo do programa mesmo quando ocorrem erros, proporcionando uma maneira de gerenciar exceções de maneira eficaz.

Sintaxe

O bloco try-catch-finally tem a seguinte estrutura:

try {
  // Código que pode gerar uma exceção
} catch (erro) {
  // Código a ser executado em caso de exceção
} finally {
  // Código a ser executado sempre, independentemente de haver ou não exceção
}
  • try: O bloco try envolve o código que pode gerar uma exceção. Este é o código que você deseja monitorar em busca de erros.

  • catch: O bloco catch é executado apenas se uma exceção ocorrer no bloco try. Ele captura a exceção e fornece um local para manipular o erro, permitindo que você tome medidas apropriadas.

  • finally: O bloco finally é opcional e é executado, independentemente de ocorrer ou não uma exceção no bloco try. Este bloco é usado para garantir que certas operações, como limpeza de recursos, sejam realizadas, independentemente do fluxo do programa.

Exemplo

function dividir(a, b) {
  try {
    if (b === 0) {
      throw new Error("Divisão por zero não permitida");
    }
 
    return a / b;
  } catch (erro) {
    console.error("Erro:", erro.message);
    return "Erro ao dividir";
  } finally {
    console.log("Operação concluída");
  }
}
 
console.log(dividir(10, 2)); // Resultado: 5
console.log(dividir(8, 0));  // Saída de erro: "Erro: Divisão por zero não permitida", Resultado: "Erro ao dividir"
// Saída do bloco finally: "Operação concluída"

Neste exemplo, a função dividir tenta realizar uma divisão, mas lança uma exceção se o divisor for zero. O bloco catch captura essa exceção, imprime uma mensagem de erro e retorna uma string indicando o erro. O bloco finally garante que a mensagem “Operação concluída” seja exibida, independentemente de ocorrer uma exceção ou não.

Referências