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 :
بازگشت