I just found this stone in a spaghetti heap that I have to maintain:
try { Foo(); } catch { throw; }
Can i replace it
Foo();
?
Yes . It's exactly the same. Perhaps someone used it to set a breakpoint in the catch block.
Yes, try / catch can be removed here. Often this code is created in iterations: initially it was the exceptions handled there, but later it was lazily removed.