Exception Handling in a Strongly Typed Object Oriented Language

  • Noemi Rodriguez PUC-Rio
  • Roberto Ierusalimschy PUC-Rio
  • José Lucas Rangel PUC-Rio


This paper describes a proposal for combining exception handling and static type check ing in an object oriented language. Basic issues for exception handling mechanisms, such as termination versus resumption and the association between signaler and handler are discussed. The sub-typing rules of a statically checked OOL are extended in order to take exceptions into account. Finally, some examples are presented to illustrate the proposed mechanism.

Palavras-chave: object oriented languages, static type checking, exception handling


ANSI. Ada Programming Language, 1983. ANSI/MIL-STD 1815.

P. America and F. van der Linden. A parallel object-oriented language with inheritance and subtyping. Sigplan Notices, 25(10), 1990. OOPSLA/ECOOP'90 Proceedings.

Andrew Black. Exception Handling: the Case Against. PhD thesis, University of Oxford, 1982.

Sergio Carvalho. Exception handling in object oriented languages: A Proposal. Technical report, Departamento de Informática, PUC-Rio, 1992.

Q. Cui and J. Gannon. Data-oriented exception handling. IEEE Trans. on Software Engineering, 18(5). May 1992.

Flaviu Cristian. Le Traitement des Ezceptions dans les Programmes Modulaires. PhD thesis, Université Scientifique et Médicale de Grenoble, 1979.

L. Cardelli and P. Wegner. On understanding types, data abstraction and polymorphism. ACM Computing Surveys, 17(4), 1985.

M. Ellis and B. Stroustrup. The Annotated C++ Reference Manual. Addison-Wesley, 1990.

J. Goodenough. Exeption handling: issues and a proposed notation. Comm, ACM, 18(12), December 1975.

Jean Ichbiach et al. Rationale for the design of the Ada programming language. SIGPLAN Notices, 14(6), June 1979.

Roberto lerusalimschy. A denotational approach for type-checking in object oriented languages. Technical Report 12/92, Departamento de Informatica, PUC-Rio, Rio de Janeiro, 22453, 1992.

Roy Levin. Program Structures for Exceptional condition Handling. PhD thesis, Carnegie-Mellon University, Pittsburgh, PA, jun 1977.

Barbara Liskov and Alan Snyder. Exception handling in CLU. IEEE Trans. on Software Engineering, SE-5(6), November 1979.

Bertrand Meyer. Object Oriented Softare Construction. Prentice-Hall, 1988.

N. Rodriguez and R. lerusalimschy. Side effect free functions in object-oriented languages. In XXI SEMISH, 1994.

N. Rodriguez, R. lerusalimschy. and J, L. Rangel. "Eypes in School. Sigplan Notices, 28(8), 1993.

Noemi Rodriguez. Tratamento de exceções, Technical Report 10/90, Departamento de Informatica, PUC-Rio. Rio de Janeiro. 22453, 1990.

C. Szypersky, S. Omohundro. and S. Murer. Engineering a programming language: The type and class system of Sather. Technical Report TR 93-064, ICSI, Berkeley, CA, 1993.

SPA, Sistemas, Planejamento e Análise. TOOL for Windows: the object oriented language, 1992.

B. Stroustrup. The C++ Programming Language. Prentice-Hall, 1992.

The interoperable objects revolution. R. Valdés (ed). Special Issue Dr. Dobb's, winter 94/95.

P. Wegner and S. Zdonik. Inheritance as an incremental modification mechanism or what like is and isn't like. In ECOOP'88 Proceedings, pages 55-77, 1988. LNCS 322.

Shaula Yemini and Daniel Berry. A modular verifiable exception handling mechanism. ACM Trans. on Programming Languages and Systems, 7(2), April 1985.
RODRIGUEZ, Noemi; IERUSALIMSCHY, Roberto; RANGEL, José Lucas. Exception Handling in a Strongly Typed Object Oriented Language. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 9. , 1995, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1995 . p. 161-174. DOI: https://doi.org/10.5753/sbes.1995.24082.