Exception handling in the software lifecycle

Exception handling is a structuring technique that facilitates the design of systems by encapsulating the process of error recovery. Traditional methods deal with exceptions at late design and implementation phases, hence losing the context of error detection and recovery, and the correlation between exceptions and their handlers. The proposed approach emphasises the separation of treatments of requirements-related, design-related, and implementation-related exceptions during the software lifecycle, by specifying the exceptions and their handlers in the context where faults are identified. The description of exceptional behaviour is supported by a co-operative object-oriented approach that allows the representation of collaborative behaviour between objects at different phases of the software development. The feasibility of the approach is demonstrated in terms of a benchmark case study.