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
}