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

You are viewing a single thread.
View all comments View context
6 points

If this is C# (and it looks like it is), this leads to you losing the original stack trace up until this point.

The correct way to do this in C# is to just throw; after you’re done with whatever you wanted to do in the catch.

permalink
report
parent
reply
2 points
*

wait what ?

So you are saying that the following code will keep throwing e but if I used throw e; it would basically be the same except for the stack trace that would be missing the important root cause ?!

try {
} catch (WhateverException e) {
    // stuff, or nothing, or whatever
    throw; 
}
permalink
report
parent
reply
1 point

Exactly. Aside from deleting your already built stack trace, as a bonus you’ll get another stack trace building call, enjoy wasted CPU cycles.

permalink
report
parent
reply

Programmer Humor

!programmerhumor@lemmy.ml

Create post

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.

Community stats

  • 7K

    Monthly active users

  • 1.5K

    Posts

  • 35K

    Comments