Toggle Main Menu Toggle Search

Open Access padlockePrints

Supporting Evolution of Interface Exceptions

Lookup NU author(s): Professor Alexander RomanovskyORCiD



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 evolution of normal system behaviour is adequately supported by various language mechanisms, such as subtyping and inheritance, few contemporary object-oriented programming languages offer support for the evolution of interface exceptions. Some languages permit specialising and deleting interface exceptions while subtyping, but none of them provides an adequate support for adding exceptions. In this paper we propose two complementary solutions for dealing with additional exceptions introduced while system evolution. To solve the problem of non-conforming interfaces resulting from the addition of new exceptions in a development step, the first proposal uses rescue handlers and the second one employs the forwarding technique.

Publication metadata

Author(s): Mikhailova A, Romanovsky A

Publication type: Report

Publication status: Published

Series Title: Department of Computing Science Technical Report Series

Year: 2000

Pages: 18

Report Number: 715

Institution: Department of Computing Science, University of Newcastle upon Tyne

Place Published: Newcastle upon Tyne