I have come across the following type of code many a times, and I wonder if this is a good practice (from Performance perspective) or not:
try
{
... // s
Like David, I suppose that the second and third perform better. But would any one of the three perform poorly enough to spend any time worrying about it? I think there are larger problems than performance to worry about.
FxCop always recommends the third approach over the second so that the original stack trace is not lost.
Edit: Removed stuff that was just plain wrong and Mike was kind enough to point out.