Skip to main content

A Fully Object-Oriented Exception Handling System: Rationale and Smalltalk Implementation

  • Chapter
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2022))

Abstract

This paper motivates and presents the specification and the implementation of an exception handling system for an dynamically typed object-oriented language. A full object-oriented representation of exceptions and handlers, a meta-object protocol to handle using either termination or resumption makes the system powerful as well as extendible and solves various exception handling issues. Three kind of dynamic scope handlers (expression handlers, class handlers and default ones) make it possible to define reusable and fault-tolerant software modules. The implementation of the system is readable and simple to understand because achieved entirely in Objectworks Smalltalk, thanks to the reflective facilities of this language.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. F. Christian: Exception Handling and Software Fault-Tolerance. IEEE Trans. on Computers, Vol. C-31, No. 6, pp. 531–540, June 1982.

    Article  Google Scholar 

  3. C. Dony: An Exception Handling System for an Object-Oriented Language. Procs of.ECOOP’88, 1988; Lectures Notes in Comp. Sci. 322, pp. 146–161.

    Google Scholar 

  4. C. Dony: Exception handling & Object-Oriented Programming: Towards a Synthesis. Proceedings of the Joint conference ECOOP-OOPSLA’90, Ottawa, Oct. 1990. Special issue of Sigplan Notices, Vol. 25, No 10, pp. 322–330.

    Google Scholar 

  5. A.F. Garcia, C.M.F. Rubira; Architectural-based Reflective Approach to Incorporating Exception Handling into Dependable Software. In [23].

    Google Scholar 

  6. A. Goldberg, D. Robson: SMALLTALK 80, the language and its implementation. Addison Wesley 1983.

    Google Scholar 

  7. J.B. Goodenough: Exception Handling: Issues and a Proposed Notation. Communication of the ACM, Vol. 18, No. 12, pp. 683–696, December 1975.

    Article  MATH  MathSciNet  Google Scholar 

  8. J. Ichbiah & al: Preliminary ADA Reference Manual. Rationale for the Design of the ADA Programming Language. Sigplan Notices Vol. 14, No. 6, June 1979.

    Google Scholar 

  9. J.L. Knudsen: Better Exception Handling in Block Structured Systems. IEEE Software, pp 40–49, May 1987.

    Google Scholar 

  10. J.L. Knudsen: Exception Handling and Fault Tolerance in Beta. In [23].

    Google Scholar 

  11. A. Koenig, B. Stroustrup: Exception Handling for C++. Proceedings of Usenix’90, pp. 149–176, San Francisco, USA, April 1990.

    Google Scholar 

  12. R. Levin: Program structures for exceptional condition handling. Ph.D. dissertation, Dept. Comp. Sci., Carnegie-Mellon University Pittsburg, June 1977.

    Google Scholar 

  13. B. Liskov, A. Snyder: Exception Handling in CLU. IEEE Trans. on Software Engineering, Vol. SE-5, No. 6, pp. 546–558, Nov 1979.

    Article  Google Scholar 

  14. B. Meyer: Disciplined exceptions. Interactive Software Engineering, TR-EI-22/EX, 1988.

    Google Scholar 

  15. J.G. Mitchell, W. Maybury, R. Sweet: MESA Language Manual.Xerox Research Center, Palo Alto, California, Mars 1979.

    Google Scholar 

  16. R. Miller, A. Tripathi: Issues with Exception Handling in Object-Oriented Systems. ECOOP’ 97 proceedings, Lecture Notes in Computer Science“, Vol. 1241, pp. 85–103, Mehmet Aksit and Satoshi Matsuoka editors, Springer-Verlag 1997.

    Google Scholar 

  17. D. Moon, D. Weinreb: Signaling and Handling Conditions. LISP Machine Manual, MIT AI-Lab., Cambridge, Massachussets, 1983.

    Google Scholar 

  18. _B.A. Nixon: A Taxis Compiler. Tech. Report 33, Comp. Sci. Dept., Univ. of Toronto, April 83.

    Google Scholar 

  19. K. Pitman: Error/Condition Handling. Contribution to WG16. Revision 18.Propositions pour ISO-LISP. AFNOR, ISO/IEC JTC1/SC 22/WG 16N15, April 1988.

    Google Scholar 

  20. K. Pitman: Condition Handling in the Lisp Language Family. In [23].

    Google Scholar 

  21. Objectworks for Smalltalk-80, version 2.5. Advanced User’s Guide-Exception Handling. ParcPlace systems, 1989.

    Google Scholar 

  22. Jan Purchase, Russel Winder: Message Pattern Specifications: A New Technique for Handling Bugs in Parallel Object Oriented Systems. ACM SIGPLAN Notices, vol. 25, no. 10, pp. 116–125, October 1990.

    Article  Google Scholar 

  23. Advances in Exception Handling Techniques,Alexander Romanovsky, Christophe Dony, Jorgen Knudsen, Anand Tripathy Editors, Springer-Verlag, 2001.

    Google Scholar 

  24. S. Yemini, D.M. Berry: A Modular Verifiable Exception-Handling Mechanism. ACM Trans. on Progr. Languages and Systems, Vol. 7, No. 2, pp. 213–243, April 1985

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Dony, C. (2001). A Fully Object-Oriented Exception Handling System: Rationale and Smalltalk Implementation. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A. (eds) Advances in Exception Handling Techniques. Lecture Notes in Computer Science, vol 2022. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45407-1_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-45407-1_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41952-5

  • Online ISBN: 978-3-540-45407-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics