Use and abuse of exceptions — 12 guidelines for proper exception handling

  • Jürgen Schwille
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 688)


This paper presents a list of twelve guidelines for proper use of exception handling in Ada. After comparing Ad′as exception handling to other mechanisms, each guideline is discussed in depth, illustrated by several examples. Analyzing the Booch Components provides additional substantiation for the presented guidelines. After reading this paper you should be able to distinguish clearly when to use and when not to use exception handling — an important question that every Ada developer should have in mind.


Status Code Exception Handling Error Handling Program Unit Check Function 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Booch, G. (1987): Software Components with Ada. The Benjamin/Cummings Publ. Co., Inc., Menlo Park, California.Google Scholar
  2. CSC (1989): Ada Reusability Handbook. Technical Report No. SP-IRD 11, December 1987, revised May 1989. Computer Sciences Corporation, Moorestown, New Jersey.Google Scholar
  3. DoD (1990): Ada 9X Requirements. Office of the Under Secretary of Defense, Washington, D.C., December 1990.Google Scholar
  4. Hoare, C.A.R. (1981): The Empero√s Old Clothes. Communications of the ACM, 24(2), February 1981. pp. 75–83.CrossRefGoogle Scholar
  5. IEEE (1990): IEEE Standard Glossary of Software Engineering Terminology. IEEE Std 610.12-1990. IEEE Computer Society Press, New York.Google Scholar
  6. Luckham, D.C., and F.W. von Henke (1985): An Overview of Anna, a Specification Language for Ada. IEEE Software, 2(2), March 1985. pp. 9–22.Google Scholar
  7. Meyer, B. (1988): Object-oriented Software Construction. Prentice Hall, New York.Google Scholar
  8. Meyer, B. (1989): From Structured Programming to Object-Oriented Design: The Road to Eiffel. Structured Programming, 10(1), January 1989. pp. 19–39.Google Scholar
  9. Parnas, D.L. (1972): A Technique for Software Module Specification with Examples. Communications of the ACM, 15(5), May 1972. pp. 330–336.CrossRefGoogle Scholar
  10. Sommerville, I. (1989): Software Engineering. Addison-Wesley, Wokingham. 3rd Edition.Google Scholar
  11. SPC (1991): Ada Quality and Style: Guidelines for Professional Programmers. SPC-91061-N, Version 02.00.02. Software Productivity Consortium, Herndon, Virginia.Google Scholar
  12. Stroustrup, B. (1986): The C++ Programming Language. Addison-Wesley Publ. Company, Reading, Mass. Reprinted edition.Google Scholar
  13. Yemini, S., and D.M. Berry (1985): A Modular Verifiable Exception-Handling Mechanism. ACM Transactions on Programming Languages and Systems, 7(2), April 1985. pp. 214–243.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Jürgen Schwille
    • 1
  1. 1.Dept. of Computer ScienceUniversity of StuttgartFRG

Personalised recommendations