Bound Exceptions in Object-Oriented Programming

  • Peter A. Buhr
  • Roy Krischer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4119)


Many modern object-oriented languages do not incorporate exception handling into the object model. Specifically, no provision is made to involve the object responsible for raising an exception in the catching mechanism. Thus, discrimination among multiple objects raising the same exception is difficult. The notion of a bound exception is introduced to associate a responsible object with an exception during propagation and allow the catch clause to match on both the responsible object and exception. Multiple strategies for determining the responsible object are presented, along with extending bound exceptions to nonlocal propagation among coroutines/tasks.


Exception Handling Member Function Binding Information Intermediate Object Exception Type 
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.
    Pitman, K.M.: Condition handling in the lisp language family. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, pp. 39–59. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Dony, C.: A fully object-oriented exception handling system: Rationale and smalltalk implementation. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, pp. 18–38. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Knudsen, J.L.: Fault tolerance and exception handling in BETA. In: Romanovsky, A., Dony, C., Knudsen, J.L., Tripathi, A.R. (eds.) ECOOP-WS 2000. LNCS, vol. 2022, pp. 1–17. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Microsoft Corporation: Microsoft Visual C++. NET Language Reference. Microsoft Press, Redmond (2002)Google Scholar
  5. 5.
    Cui, Q., Gannon, J.: Data-oriented exception handling. IEEE Transactions on Software Engineering 18, 393–401 (1992)CrossRefGoogle Scholar
  6. 6.
    Buhr, P.A., Macdonald, H.I., Zarnke, C.R.: Synchronous and asynchronous handling of abnormal events in the μSystem. Software–Practice and Experience 22, 735–776 (1992)CrossRefGoogle Scholar
  7. 7.
    Burns, A., Wellings, A.: Real-Time Systems and Programming Languages, 2nd edn. Addison-Wesley, Reading (1997)zbMATHGoogle Scholar
  8. 8.
    Intermetrics, Inc.: Ada Reference Manual. International standard ISO/IEC 8652:1995(E) with COR.1:2000 edn., Language and Standards Libraries (1995)Google Scholar
  9. 9.
    Nelson, G. (ed.): Systems Programming with Modula-3. Prentice Hall Series in Innovative Technology. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  10. 10.
    Buhr, P.A., Harji, A., Mok, W.Y.R.: Exception handling. In: Zelkowitz, M.V. (ed.) Advances in COMPUTERS, vol. 56, pp. 245–303. Academic Press, London (2002)Google Scholar
  11. 11.
    Krischer, R.: Bound exceptions in object-oriented programming languages. Diplomarbeit, Universität Mannheim, Mannheim, Deutschland (2002),
  12. 12.
    Stroustrup, B.: The Design and Evolution of C++. Addison-Wesley, Reading (1994)Google Scholar
  13. 13.
    Buhr, P.A.: μC++ annotated reference manual, version 5.3.0. Technical report, School of Computer Science, University of Waterloo, Waterloo, Ontario, Canada, N2L 3G1 (2006),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Peter A. Buhr
    • 1
  • Roy Krischer
    • 1
  1. 1. WaterlooCanada

Personalised recommendations