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 whateverthrow;
}
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 thecatch
.wait what ?
So you are saying that the following code will keep throwing
e
but if I usedthrow 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; }
Exactly. Aside from deleting your already built stack trace, as a bonus you’ll get another stack trace building call, enjoy wasted CPU cycles.