Advanced exception handling mechanisms
Buhr, P.A.; Mok, W.Y.R.
Software Engineering, IEEE Transactions on
Volume 26, Issue 9, Sep 2000 Page(s):820 - 836
Digital Object Identifier 10.1109/32.877844
Summary:It is no longer possible to consider exception handling as a
secondary issue in language design, or even worse, a mechanism added
after the fact via a library approach. Exception handling is a primary
feature in language design and must be integrated with other major
features, including advanced control flow, objects, coroutines,
concurrency, real-time, and polymorphism. Integration is crucial as
there are both obvious and subtle interactions between exception
handling and other language features. Unfortunately, many exception
handling mechanisms work only with a subset of the features and in the
sequential domain. A framework for a comprehensive, easy to use, and
extensible exception handling mechanism is presented for a concurrent,
object-oriented environment. The environment includes language
constructs with separate execution stacks, e.g. coroutines and tasks, so
the exception environment is significantly more complex than the normal
single-stack situation. The pros and cons of various exception features
are examined, along with feature interaction with other language
mechanisms. Both exception termination and resumption models are
examined in this environment, and previous criticisms of the resumption
model, a feature commonly missing in modern languages, are addressed
View citation and abstract |