Sobes.tech
Junior — Middle

Qual é o papel do operador throw dentro do bloco catch na manipulação de exceções?

sobes.tech IA

Resposta da IA

O operador throw dentro do bloco catch é usado para relançar a exceção atual ou lançar uma nova.

Se você escrever simplesmente throw; sem parâmetros, a exceção será relançada mantendo a pilha de chamadas original. Isso é útil quando você deseja tratar parcialmente a exceção (por exemplo, registrar) e depois passá-la adiante.

Se você escrever throw new Exception(...), uma nova exceção será lançada, e a pilha de chamadas começará a partir desse ponto.

Exemplo de relançamento:

try
{
    // código
}
catch(Exception ex)
{
    Log(ex.Message);
    throw; // relança a mesma exceção
}