[C#] – Dica de Exception Handling

Autor(a):

Não use throw ex em catch block

🚫 throw ex; atualiza a propriedade StackTrace de ex. Se você lançar “ex”, a rastreabilidade da pilha é perdida!

throw; preserva a rastreabilidade original da exceção armazenada na propriedade Exception.StackTrace.

⚡ Dessa forma, não perdemos a rastreabilidade da pilha e podemos encontrar rapidamente a causa raiz do erro.

⚠️ throw ex irá resetar a call stack na exceção para o ponto onde essa throw statement foi criada. Assim, não podemos ver a rastreabilidade original e você pode passar dias procurando a causa raiz.