On exceptions and the software development life cycle

This paper presents the insights we gained in our research aimed at integrating exceptions and exception handling into the entire software development life cycle. We argue that exceptions are of different nature depending on the level of abstraction that the system under development is looked at. We outline a mapping relating exceptions at a high level of abstraction to exceptions and other software artifacts at lower levels of abstraction, and show that some exceptions introduced at a low level of abstraction also require the definition of corresponding exceptions at a higher level of abstraction in the case where transparent handling at the low level is not possible. Finally, we list the potential benefits of integrating exception handling into the entire software development life cycle.