[Publications] [Software Engineering Research Group] [Department of Computer Science] [University of British Columbia]

Designing Robust Java Programs with Exceptions
Martin P. Robillard and Gail C. Murphy

In David S. Rosenblum, editor, Proceedings of the ACM SIGSOFT Eighth International Symposium on the Foundations of Software Engineering (FSE-8): Foundations of Software Engineering for Twenty-First Century Applications (San Diego, California, USA; 8--10 November 2000; SIGSOFT '00), ACM Press, pp. 2--10, 2000.

PDF    Slides from talk

Abstract

Exception handling mechanisms are intended to help developers build robust systems. Although an exception handling mechanism provides a basis for structuring source code dealing with unusual situations, little information is available to help guide a developer in the appropriate application of the mechanism. In our experience, this lack of guidance leads to complex exception structures. In this paper, we reflect upon our experiences using the Java exception handling mechanism. Based on these experiences, we discuss two issues we believe underlie the difficulties encountered: exceptions are a global design problem, and exception sources are often difficult to predict in advance. We then describe a design approach, based on work by Litke for Ada programs, which we have used to simplify exception structure in existing Java programs.

Superceded versions of this paper


ACM Copyright Notice: The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.


URL:  http://www.cs.ubc.ca/labs/se/papers/2000/fse00-exceptions.html
File:  /pub/www/cs.ubc.ca/docs/labs/se/papers/2000/fse00-exceptions.html