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 blocotry
envolve o código que pode gerar uma exceção. Este é o código que você deseja monitorar em busca de erros. -
catch
: O blococatch
é executado apenas se uma exceção ocorrer no blocotry
. Ele captura a exceção e fornece um local para manipular o erro, permitindo que você tome medidas apropriadas. -
finally
: O blocofinally
é opcional e é executado, independentemente de ocorrer ou não uma exceção no blocotry
. 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.