try{}catch{} in .NET 2.0

Did you aware try/catch block in .NET 2.0 works bit differently than .NET 1.1 for handling non-exception throws?

David Betz has written two blog posts on try/catch exception handling explaining deferences between both framework versions. In .NET 2.0, as David explains in his post, non exception item raised are actually wrapped up with actual exception object. So that means you can easily handle non-exception items using same try/catch blocks as they are now wrapped in RuntimeWrappedException object.

Links:
.NET 2.0 try{}catch{} and try{}catch(Exception ex){} - Part 1
try{}catch{} in .NET 2.0 - Part 2