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.
