Abstract
The goals of exception handling mechanisms are to make programs more reliable and robust. The integration of exception handling mechanisms with object-oriented languages raises some unique issues. The requirements of exception handling often conflict with some of the goals of object-oriented designs, such as supporting design evolution, functional specialization, and abstraction for implementation transparency. This paper demonstrates these conflicts, illustrates that the use of exception handling in object-oriented systems poses potential pitfalls, and suggests that their resolution is one of the first steps necessary to make exception handling robust in object-oriented designs and languages.
Preview
Unable to display preview. Download preview PDF.
References
G. Booch, “Object-Oriented Analysis and Design with Applications, 2nd Ed”, Benjamin/Cummings, 1994.
A. Borgida, “Exceptions in Object-Oriented Languages”, SIGPLAN Notices, vol. 21, no. 10, pp. 107–119, Oct. 1986.
T. Cargill, “Exception Handling: A False Sense of Security”, C+ + Report, vol. 6, no. 9, pp. 21–24, Nov.-Dec. 1994.
N.H. Cohen, “Ada as a Second Language, 2nd Ed”, McGraw-Hill, 1996.
F. Cristian, “Exception Handling”, IBM Research Report RJ5724, 1987.
C. Dony, “An Object-Oriented Exception Handling System for an Object-Oriented Language”, in Proceedings of ECOOP'88, pp. 146–159,1991.
C. Dony, “Exception Handling and Object-Oriented Programming: Towards a Synthesis”, in Proceedings OOPSLA 90, pp. 322–330, Oct. 1990.
A. Goldberg and D. Robson, “Smalltalk-80: The Language”, Addison-Wesley, 1989
J.B. Goodenough, “Exception Handling: Issues and a Proposed Notation”, Communications of the ACM, vol. 18, no. 12, pp. 683–696, Dec. 1975.
J.D. Ichbiah, J.C. Heliard, O. Roubine, J.G.P. Barnes, B. Krieg-Brueckner, and B.A. Wichmann, “Rationale for the Design of the Ada Programming Language”, SIGPLAN Notices, vol. 14, no. 6, Part B, Jun. 1979.
A.K. Jones, “The Object Model: A Conceptual Tool for Structuring Software,” in Operating Systems and Advanced Course — Lecture Notes in Computer Science, Vol. 60, pp. 7–16, Springer-Verlag, 1979.
J.L. Knudsen, “Better Exception-Handling in Block-Structured Systems”, IEEE Software, vol. 17, no. 2, pp. 40–49, May 1987.
S. Lacourte, “Exceptions in Guide, an Object-Oriented Language for Distributed Applications”, in Proceedings ECOOP 91, pp. 268–287, 1991.
B. Liskov and A. Snyder, “Exception Handling in CLU”, IEEE Transactions on Software Engineering, vol. SE-5, no. 6, pp. 546–558, Nov. 1979.
O.L. Madsen, B. Moller-Pedersen, and K. Nygaard, “Object-Oriented Programming in the Beta Programming Language”, Addison-Wesley, 1993.
S. Matsuoka and A. Yonezawa, “Analysis of Inheritance Anomaly in Object-Oriented Concurrent Programming Languages”, Research Directions in Concurrent Object-Oriented Programming, chapter 4, MIT Press, 1993.
B. Meyer, “Eiffel: The Language”, Prentice-Hall 1992.
T. Ritchey, “Programming with Java!”, New Riders, 1995.
A.B. Romanovsky, L.V. Shturtz, and V.R. Vassilyev, “Designing Fault-Tolerant Objects in Object-Oriented Programming”, in Proceedings 7th International Conference of Technology of Object Oriented Languages and Systems (TOOLS Europe 92), pp. 199–205, 1992.
B. Stroustrup, “The C++ Programming Language, 2nd Ed.”, Addison-Wesley, 1991.
B. Stroustrup, “The Design and Evolution of C++”, Addison-Wesley, 1994.
A. Taivalsaari, “On the Notion of Inheritance”, ACM Computing Surveys, vol. 28, no. 3, pp.438–479, Sept. 1996.
S. Yemini and D.M. Berry, “A Modular Verifiable Exception-Handling Mechanism”, ACM Transactions on Programming Languages and Systems, vol. 7, no. 2, pp. 214–243, Apr. 1985.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Miller, R., Tripathi, A. (1997). Issues with exception handling in object-oriented systems. In: Akşit, M., Matsuoka, S. (eds) ECOOP'97 — Object-Oriented Programming. ECOOP 1997. Lecture Notes in Computer Science, vol 1241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053375
Download citation
DOI: https://doi.org/10.1007/BFb0053375
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63089-0
Online ISBN: 978-3-540-69127-3
eBook Packages: Springer Book Archive