An exception condition occurs when an object or component, for some reason, can't fulfil a responsibility. Poor exception-handling implementations can thwart even the best design. It's high time we recognize exception handling's importance to an implementation's overall quality. Agreeing on a reasonable exception-handling style for your application and following a consistent set of exception-handling practices is crucial to implementing software that's easy to comprehend, evolve, and refactor. The longer you avoid exceptions, the harder it is to wedge cleanly designed exception-handling code into working software. To demystify exception-handling design, we must write about - and more widely disseminate - proven techniques, guidelines, and patterns
['Rebecca J. Wirfs-Brock']
Toward Exception-Handling Best Practices and Patterns