Exceptions in Java and Eiffel: Two Extremes in Exception Design and Application

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


Exceptions are frequently a controversial language feature with both language designers and programmers. Exceptions are controversial because they complicate language semantics—and thus program design, testing, and verification—and some programmers find them annoying or difficult to use properly. By examining two programming languages that have very different, even opposing, exception mechanisms, a set of exception principles is introduced that summarize the key semantic and social issues surrounding exceptions.


Java Modeling Language Exception Mechanism Abrupt Termination Assertion Violation Uniformity Principle 
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. 1.
    Sutcliffe, R.J. (ed.): Modula-2 (Base Language). Number 10514-1:1996 in ISO/IEC Modula-2 Standardization. ISO/IEC (1999)Google Scholar
  2. 2.
    Wirth, N.: Programming in Modula-2. Springer, Heidelberg (1982)zbMATHGoogle Scholar
  3. 3.
    Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification, 3rd edn. Addison-Wesley Publishing Company, Reading (2005)Google Scholar
  4. 4.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Englewood Cliffs (1988)Google Scholar
  5. 5.
    Meyer, B.: Disciplined exceptions. Technical Report TR-EI-13/EX, Interactive Software Engineering (1988)Google Scholar
  6. 6.
    Bezault, E., Howard, M., Kogtenkov, A., Meyer, B., Stapf, E.: Eiffel analysis, design and programming language. Technical Report ECMA-367, ECMA International (2005)Google Scholar
  7. 7.
    Leavens, G.T., Poll, E., Clifton, C., Cheon, Y., Ruby, C., Cok, D., Kiniry, J.: JML Reference Manual. Department of Computer Science, Iowa State University, 226 Atanasoff Hall. Draft revision 1.94 edn. (2004)Google Scholar
  8. 8.
    Leavens, G.T., Baker, A.L., Ruby, C.: JML: A Notation for Detailed Design. In: Behavioral Specifications of Business and Systems, pp. 175–188. Kluwer Academic Publishing, Dordrecht (1999), Available via: Google Scholar
  9. 9.
    Hester, K.: What is JavaSignals? (1999), See:
  10. 10.
    Meyer, B.: Eiffel the Language, 3rd edn. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  11. 11.
    Meyer, B.: Eiffel: The Language. Prentice-Hall, Englewood Cliffs (1992)zbMATHGoogle Scholar
  12. 12.
    Burdy, L., Cheon, Y., Cok, D., Ernst, M., Kiniry, J., Leavens, G.T., Leino, K., Poll, E.: An overview of JML tools and applications. International Journal on Software Tools for Technology Transfer (2005)Google Scholar
  13. 13.
    Jacobs, B., Poll, E.: A logic for the Java Modeling Language JML. In: Hussmann, H. (ed.) ETAPS 2001 and FASE 2001. LNCS, vol. 2029, pp. 284–299. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Kiniry, J.R., Cok, D.R.: ESC/Java2: Uniting ESC/Java and JML: Progress and issues in building and using ESC/Java2 and a report on a case study involving the use of ESC/Java2 to verify portions of an Internet voting tally system. In: Barthe, G., Burdy, L., Huisman, M., Lanet, J.-L., Muntean, T. (eds.) CASSIS 2004. LNCS, vol. 3362, pp. 108–128. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  15. 15.
    Jacobs, B., Poll, E.: Java program verification at Nijmegen: Developments and perspective. In: Futatsugi, K., Mizoguchi, F., Yonezaki, N. (eds.) ISSS 2003. LNCS, vol. 3233, pp. 134–153. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  16. 16.
    Eckel, B.: Does Java need checked exceptions? (2003), See: particularly the ensuing feedback on this issue
  17. 17.
    Posted by Eric Gunnerson; original author unknown.: Why doesn’t C# require exception specifications (2000)Google Scholar
  18. 18.
    Microsoft Corporation: .NET framework general reference, Documentation version 1.1.0 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  1. 1.School of Computer Science and InformaticsUniversity College DublinBelfield, Dublin 8Ireland

Personalised recommendations