28
submitted 2 years ago by [email protected] to c/[email protected]

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
[-] [email protected] 1 points 2 years ago

Lol what’s wrong with this if the parent function catches it

[-] [email protected] 1 points 2 years ago

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.

[-] [email protected] 1 points 2 years ago* (last edited 2 years ago)

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; 
}
[-] [email protected] 1 points 2 years ago

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

load more comments (2 replies)
this post was submitted on 17 Jun 2023
28 points (96.7% liked)

Programmer Humor

36350 readers
504 users here now

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

Rules:

founded 5 years ago
MODERATORS