this post was submitted on 17 Jun 2023
50 points (94.6% liked)

Programmer Humor

32426 readers
889 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

Brilliant exception handling I found in an app i had to work on

you are viewing a single comment's thread
view the rest of the comments
[–] TwilightKiddy@programming.dev 2 points 1 year ago (1 children)

Rethrowing caught exception in C# is just throw;, not throw ex;. This will delete old stack trace, which is very punishable if someone debugs your code later and you're still around.

[–] bartimeo@lemmy.world 0 points 1 year ago (1 children)

I am a somewhat new C# developer (2 years). Could you explain more about this?

[–] TwilightKiddy@programming.dev 1 points 1 year ago

throw ex; treats ex as a new exception, so, it starts a new stack trace for it from itself and deletes stack trace that was saved in ex.StackTrace. On the other hand, throw; takes already present exception in the scope and throws it without modifying the stack trace, preserving the original method that threw ex in the stack trace.

I feel like I wrote the same thing twice. I'm a bit bad with explaining stuff, feel free to ask more specific questions if you still don't understand the difference.