Abstract
We present an original exception handling system especially designed for object-oriented languages. making actual information hiding possible and taking into account specific issues of object-oriented languages. It allows association of handlers with expressions as well as with object classes, using a well defined semantics. It offers an object-oriented and extensible representation of exceptions, handlers and knowledge about exceptions. Handlers can specify both resumption and termination. There are no distinctions between system and user defined exceptions. With this system. fault tolerant programs and well specified encapsulations can be written, simple and powerful integration of new user-defined exceptions and secure as well as readable non local moves can be implemented.
In this paper, we examine object oriented specific issues related to exception handling. We discuss the exception handling mechanisms available in current object-oriented languages and explain why they do not provide he ability to define fault tolerant encapsulations. Our system description shows how the utilization of the object-oriented formalism solves, in an efficient and simple way, some well known problems related to exception handling such as: how to create exception hierarchies, how to signal fatal or continuable exceptions with the same primitive, how to pass arguments to handlers. and so on.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
C. Benoit. Y. Caseau, C. Pherivong: Knowledge Representation and Communication Mechanisms in Lore. Proc. of ECAI’86, Brighton, July 1986.
D.M. Berry, S. Yemini: A Modular Verifiable Exception-Handling Mechanism. ACM Transaction on Programming Languages and Systems, Vol. 7, No. 2, pp. 213–243, April 1985.
M. Bidoit et al.: Exception Handling: Formal Specification and Systematic Program Construction I.E.E.E. Transactions on Software Engineering, Vol. SE-11. Number 3, March 1985, pp.242–252.
D.G. Bobrow, M. Stefik: The Loops Manual. Xerox Parc, 1983.
D.G. Bobrow & al: Merging Lisp and Object-Oriented Programming. Proc. of OOPSLA’86, Special issue of Sigplan Notices, Vol. 21, No. 11, pp. 17–29, November 1986.
A. Borgida: Language Features for Flexible Handling of Exceptions in Information Systems. ACM Transactions on Database Systems, Vol. 10, No. 4, pp. 565–603, December 1985.
A. Borgida: Exceptions in Object-Oriented Languages. ACM Sigplan Notices, Vol. 21, No. 10, pp. 107–119, October 1986.
Y. Caseau: Etude et Réalisation d’un langage objet: LORE. Thèse de l’université Paris-Sud, Orsay, France, Novembre 1987.
F. Christian: Exception Handling and Software Fault Tolerance. IEEE Transactions on Computers, Vol. C-31. No. 6, pp. 531–540, June 1982.
P. Cointe Implémentation et interprétation des langages objets Applications aux langapes Formes, Objvlisp et Smalltalk. Thèse d’état. Université Paris 6, LRCAM, France. Décembre 1984.
O. Dahl, B. Myhrhaug. K. Nygaard: SIMULA-67 Common Base Language. SIMULA Information, S-22 Norwegian Computing Center, Oslo, Norway, October 1970.
D. Etherington, R. Reiter: On inheritance hierarchies with exceptions. Proc. of AAAI-83, pp. 104–108. August 1983.
A. Goldberg, D. Robson: SMALLTALK 80, the language and its implementation. Addison Wesley 1983.
J.B. Goodenough: Exception Handling: Issues and a Proposed Notation. Communication of the ACM, Vol. 18, No. 12, pp. 683–696, December 1975.
J. Ichbiah & al: Preliminary ADA Reference Manual. Rationale for the Design of the ADA Programming Language. Sigplan Notices Vol. 14, No. 6, June 1979.
J.L. Knudsen: Better Exception Handling in Block Structured Systems. IEEE Software, pp. 40–49, May 1987.
H. Lieberman: Step Toward Better Debugging Tools For Lisp. ACM. Conference Record of the 1984 ACM Symposium on LISP and Functional Programming.
R. Levin: Program structures for exceptinal condition handling. Ph.D. dissertation, Dept. Comput. Sci., Camegie-Mellon University Pittsburg, June 1977.
B.A. Nixon: A Taxis Compiler. Tech. Report 33, Comp. Sci. Dept., Univ. of Toronto, April 83.
B. Liskov, A. Snyder: Exception Handling in CLU. IEEE Transactions on Software Engineering, Vol. SE-5, No. 6, pp. 546–558, Nov 1979.
Reusability: The Case for Object-Oriented Design. IEEE Software, pp. 51–64, Mars 1987.
J.G. Mitchell, W. Maybury, R. Sweet: MESA Language Manual. Xerox Research Center, Palo Alto, Calif., Mars 1979.
D. Moon, D. Weinreb: LISP Machine Manual, Fourth Edition. MIT Artificial Intelligence Lab., Cambridge, Massachussets. (July 1981).
G.A. Pascoe: Encapsulators: A New Software Paradigm in Smalltalk-80. Proc. of OOPSLA’86, Special issue of Sigplan Notices, Vol. 21. No. 11, pp. 341–346. November 1986.
Multics PL/I Reference Manual, Cedoc 68, Louveciennes, Septembre 1978.
B. Stroustrup: The C++ Programming Language. AT&T Bell Laboratories, Murray Hill, New Jersay. Addison-Wesley, March 1986.
F.X. Testard-Vaillant: Exceptions and Interpreters. AIMSA’86, Varna. September 1986.
H. Wertz: An Integrated, Interactive and Incremental Programming Environment for the Development of Complex Systems. in Integrated Interactive Computing Systems, pp. 235–250, ED P.Degano & E.Sandew all, North-Holland 1983.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1988 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dony, C. (1988). An Object-oriented Exception Handling System for an Object-oriented Language. In: Gjessing, S., Nygaard, K. (eds) ECOOP ’88 European Conference on Object-Oriented Programming. ECOOP 1988. Lecture Notes in Computer Science, vol 322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45910-3_9
Download citation
DOI: https://doi.org/10.1007/3-540-45910-3_9
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-50053-7
Online ISBN: 978-3-540-45910-1
eBook Packages: Springer Book Archive