Junior — Middle
Explique o que significa usar a construção throw ex no código e quais são as suas características?
sobes.tech IA
Resposta da IA
No C#, a construção throw ex; é usada para relançar a exceção ex. No entanto, ao fazer isso, a pilha de chamadas original (stack trace) é perdida, e o depurador mostrará o local do relançamento em vez do original.
Se desejar manter a pilha de chamadas original, recomenda-se usar simplesmente throw; sem especificar a variável de exceção. Isso relançará a exceção atual, preservando todas as informações da pilha.
Exemplo:
try
{
// código que pode lançar uma exceção
}
catch(Exception ex)
{
// Log ou processamento
throw; // mantém a pilha de chamadas
// throw ex; // não recomendado, a pilha é perdida
}