Handling Multiple Concurrent Exceptions in C++ Using Futures

Abstract

Exception handling is a well-established mechanism in sequential programming. Concurrency and asynchronous calls introduce a possibility for multiple simultaneous exceptions. This complicates exception handling, especially in languages whose support for exceptions has not originally been designed for concurrency. Futures are a mechanism for handling return values in asynchronous calls. They are affected by concurrent exception handling as well, since exceptions and return values are mutually exclusive in functions. This paper discusses these problems and presents a concurrent exception handling mechanism for future-based asynchronous C++ programs.

Brosgol, B.M.: A comparison of the concurrency features of Ada 95 and Java. In: Proceedings of the 1998 annual ACM SIGAda international conference on Ada, Washington, D.C., United States, pp. 175–192. ACM Press, New York (1998)CrossRefGoogle Scholar