Abstract:
Despite over thirty years of work, error-handling is often unsatisfactory in typical software. This paper proposes a framework for user-oriented forward error recovery: a set of entities able to carry out recovery, strategies they may use and derived from these a set of informational requirements needed for such recovery. The informational requirements are concretized into a generic exception class and its use in error reporting and recovery detailed. A version of framework has been used in a medium-size (500 KLOC) business support system with good results. The framework has been expanded based on these results and literature.
The purpose of this website is to serve as a discussion ground for error-handling in the real world. My long term goal is to write a book on the topic: be warned, ideas in your comments may become material for that book.
- Introduction
- Synopsis
- Preliminaries
- Requirements and guidelines for an exception handling framework
- What is exception handling: a framework
- Informational requirement 〈Inputs〉: what input was erroneous, and how it should be fixed
- Something is wrong with the environment 〈Environmental〉
- Messages to humans 〈Message〉: 〈User Message〉, 〈Administrator Message〉, 〈Programmer Message〉 and levels
- Just retry 〈Retriable〉
- Where’s the bug in the program 〈Program〉
- Tell me exactly what went wrong 〈Error Code〉
- SIDEBAR: Exceptions and error codes
- Which part failed 〈Subsystem〉
- Many exceptions? 〈Next Exception〉
- Warnings 〈Severity〉
- Conclusions, implementation notes and future research topics
- So what should exceptions look like, then
- Should we allow for derivation?
- SIDEBAR: Error logs, error dumps and security
- Handling the exceptions
- Implementation in 〈CCF〉
- Notes on implementing 〈Inputs〉
- Conclusions and future work
- Bibliography
Mika Raento 2006-07-30