I understand that this is a very broad question, but a short “it depends” kind of answer will not be accepted. Strategies are born to deal with broad issues.
What issues should an application designer take into consideration when devising the error and exception handling strategy?
How the strategy will differ depending on the software type (COTS, in-house business app, consultingware, game, hosted web app, embedded etc)? Is the software type important?
Ethical, political and legal issues?
Various perspectives on error handling (user, developer, business support, management).
Some ideas that I would have explored:
Various error reporting routes (i.e. UI, logging, automatic admin notification).
Defence in depth and robustness (failover contingency and fail-safe mechanisms, recovery against problems that are not yet known).
Treating users and customers fairly (i.e. minimising the impact on software users and other people serviced by software).
I'm looking for a similar list of ideas and concepts.
Please do use comments to point me out if I need to clarify the question further and thanks to everyone contributing!
FAQ
Development Platform (Java, .NET, mobile) — will definitely have some affect on the resulting implementation detail of the strategy from a developer perspective but less so from users' point of view.
Fools day it is certainly not. Most legacy systems I was asked to work on did not have a clear error handling strategy.
Could this be made a community wiki? No. It seems as a good question and good questions are hard to come up with.
What do you mean by the strategy? A long term plan that gives direction, focus, brings consistency and coordination to error and exception handling. In case of a larger team working on software the strategy can be formilised and distributed in a written form.
It seems to be duplicate question (see Best practices for exception management in Java or C and Which and why do you prefer exceptions or return codes) These questions deal with a certain perspective on error handling (mostly developer), I'd like to learn more about other perspectives and how they contribute to the overall strategy.