I'm writing a web part for other sites to use in their SharePoint installation. In the logic of the web part I throw exceptions at certain failure points. I'm wondering whether it is a better practice to catch the exceptions and deal with them myself, or let them bubble up so the developers/administrators making use of this web part can deal with them at the page level?
If I catch them myself I guess this quarantines the web part from causing the whole page to fail if it throws an exception. However, if I deal with the exception myself, it doesn't allow the 3rd party sites to deal with the exceptions in different ways, which they might want to.
This Exception Management in SharePoint page says:
...an unhandled exception in a single Web Part can prevent the Web page as a whole from being displayed. This behavior is sometimes desired because an unhandled exception can potentially corrupt data on the page. In other situations, it can be better to catch unhandled exceptions within Web Parts.
However I'm not really clear on which situations I might want to catch the exceptions myself, and in which I should let them propagate up -- any ideas and notes from the field?