Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença entre Throw e Throw ex

Não entendi muito bem a diferença entre os 2. Qual seria a definição de cada um?

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

Quando você lança um throw ele apenas repassa a mesma exceção para frente, com isso outro trecho de código poderá capturar e saber as informações pelo stacktrace, não perdendo informações sobre a exceção original.

Já quando é lançado um throw ex, você para a exceção por ali e lança uma nova exceção a partir dele, fazendo com que informações sobre a exceção original sejam perdidas.

Conclusão - Throw mantém a hierarquia de exceções em um possível stacktrace, já o throw ex retorna as exceções partindo do ponto onde ele foi lançado, perdendo assim informações.

Ao meu ver você deve dar preferência para o throw

artigos usado como base: https://www.macoratti.net/18/01/c_excep1.htm

Muito obrigado!! Entendi perfeitamente agora.