Here is what i recommend -
Catch only what you are supposed to. So in your catches don't do
catch(Exception e). And don't catch all kinds of exceptions - don't over do
it.
As long as you do that .. you should be okay.
In other words - don't mask exceptions - don't let your callers believe
nothing went wrong when it indeed did.
Another thing is - always have a catch all for all uncaught exceptions. So
like an error page for an asp.net app.
Third thing - take exception to exceptions - when you do catch an uncaught
exception in your catch all - write a robust but simple code to extract as
much as info as possible from the exception to present to the end user, and
if possible allow a direct feedback so before the customer reports it - you
might have already fixed it. I've sent emails at times that look like ..
"Today at 9:38 AM you were running this report and you got this error. Well
I've fixed this, please try again". The customers are really pleased to have
a problem fixed without them reporting it.
- Sahil Malik
http://dotnetjunkies.com/weblog/sahilmalik