DocumentCode
1398391
Title
Advanced exception handling mechanisms
Author
Buhr, Peter A. ; Mok, W. Y Russell
Author_Institution
Dept. of Comput. Sci., Waterloo Univ., Ont., Canada
Volume
26
Issue
9
fYear
2000
fDate
9/1/2000 12:00:00 AM
Firstpage
820
Lastpage
836
Abstract
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
Keywords
exception handling; high level languages; multiprocessing programs; object-oriented programming; advanced control flow; advanced exception handling mechanisms; concurrency; concurrent object-oriented environment; coroutines; exception resumption model; exception termination model; execution stacks; feature interaction; language constructs; language design; objects; polymorphism; real-time systems; Concurrent computing; Libraries; Object oriented modeling; Process control; Programming profession; Robust control; Robustness; Testing; Writing;
fLanguage
English
Journal_Title
Software Engineering, IEEE Transactions on
Publisher
ieee
ISSN
0098-5589
Type
jour
DOI
10.1109/32.877844
Filename
877844
Link To Document