Junior — Middle
Em que situações é utilizado o bloco finally no tratamento de exceções e qual é o seu papel?
sobes.tech IA
Resposta da IA
O bloco finally em C# é usado para executar código que deve ser executado em qualquer caso após o bloco try e possíveis blocos catch, independentemente de uma exceção ter ocorrido ou não.
O papel principal do finally é liberar recursos, fechar arquivos, conexões com bancos de dados, liberar memória e outras operações de limpeza que devem sempre acontecer.
Exemplo:
try
{
// Código que pode gerar uma exceção
using (var file = new StreamReader("file.txt"))
{
var content = file.ReadToEnd();
}
}
catch (IOException ex)
{
Console.WriteLine("Erro ao ler o arquivo: " + ex.Message);
}
finally
{
// Este código será sempre executado, mesmo que nenhuma exceção tenha ocorrido ou tenha sido tratada
Console.WriteLine("Encerrando o trabalho com o arquivo.");
}
Se uma exceção ocorrer no bloco try e não for capturada, o finally ainda será executado antes que a exceção seja propagada para cima.