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?

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.