Skip to main content

Supporting Evolution of Interface Exceptions

  • Chapter
  • First Online:
Advances in Exception Handling Techniques

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

Abstract

Interface exceptions (explicitly declared exceptions that a method can propagate outside) are an inherent part of the interface describing the behaviour of a particular class of objects. Evolution of system behaviour is thus necessarily accompanied by and reflected in the evolution of interface exceptions. While the evolution of normal system behaviour is adequately supported by various language mechanisms, such as subtyping and inheritance, few contemporary object-oriented program- ming languages offer support for the evolution of interface exceptions. Some languages allow interface exceptions to be specialised and deleted while subtyping, but none of them provides adequate support for adding exceptions. In this paper we propose two complementary solutions to dealing with additional exceptions introduced during system evolution. To solve the problem of non-conforming interfaces resulting from the ad- dition of new exceptions in a development step, the first proposal uses rescue handlers and the second one employs the forwarding technique.

Acknowledgements

We would like to thank Christophe Dony, Ricardo Jiménez-Peris, J∅rgen Lindskov Knudsen, and Anand Tripathi for valuable comments and constructive criticism. Anna Mikhailova’s research is supported by the European IST project MATISSE and Alexander Romanovsky’s research by the European IST DSoS project.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Cardelli. A Theory of Objects. Springer-Verlag, 1996.

    Google Scholar 

  2. L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. Technical Report 52, Digital Equipment Corporation, Systems Research Center, 1989.

    Google Scholar 

  3. W. R. Cook, W. L. Hill, and P. S. Canning. Inheritance is not subtyping. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 125–135, San Francisco, CA, Jan. 1990.

    Google Scholar 

  4. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable ObjectOriented Software. Addison-Wesley, 1995.

    Google Scholar 

  5. J. B. Goodenough. Exception handling: Issues and a proposed notation. Communications of the ACM, 18(12):683–696, Dec. 1975.

    Article  MATH  MathSciNet  Google Scholar 

  6. J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Sun Microsystems, Mountain View, 1996.

    Google Scholar 

  7. V. Issarny. An exception handling mechanism for parallel object-oriented programming: towards the design of reusable, and robust distributed software. Journal of Object-Oriented Programming,6(6):29–40, 1993.

    Google Scholar 

  8. R. Miller and A. Tripathi. Issues with exception handling in object-oriented systems. In M. Aksit and S. Matsuoka, editors, ECOOP ’97 — Object-Oriented Programming 11th European Conference, Jyväskylä, Finland, volume 1241 of Lecture Notes in Computer Science, pages 85–103. Springer-Verlag, New York, NY, June 1997.

    Google Scholar 

  9. A. T aivalsaari. On the notion of inheritance. Comp. Surveys, 28(3):438–479, September 1996.

    Article  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

Mikhailova, A., Romanovsky, A. (2001). Supporting Evolution of Interface Exceptions. 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_6

Download citation

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

  • 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