Nicely said at How to Rethrow an Exception Without Wrapping them
Some do's and don't's with exceptions
1. Unless you have a very good reason to catch an exception, don't catch it.
2. If you can correct the problem implied by the exception. eat the exception, because you fixed it. However there are some exceptions that it is unwise to catch.
3. If you can provide additional information about the exception. catch the exception, and re-throw it as an inner exception with more information. This is a very good reason to catch an exception, but note that we are still re-throwing it.
4. Always try to catch specific exceptions. Avoid catching System.Exception whenever possible.