this post was submitted on 17 Jun 2023
7 points (88.9% liked)
Programmer Humor
32503 readers
392 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Rethrowing caught exception in C# is just
throw;
, notthrow ex;
. This will delete old stack trace, which is very punishable if someone debugs your code later and you're still around.I am a somewhat new C# developer (2 years). Could you explain more about this?
throw ex;
treatsex
as a new exception, so, it starts a new stack trace for it from itself and deletes stack trace that was saved inex.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 threwex
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.