This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
std::uncaught_exception()
Section: 99 [depr.uncaught] Status: C++11 Submitter: BSI Opened: 2010-08-25 Last modified: 2017-06-15
Priority: Not Prioritized
View all issues with C++11 status.
Discussion:
Addresses GB-73
The thread safety std::uncaught_exception()
and the
result of the function when multiple threads throw
exceptions at the same time are unspecified. To make the
function safe to use in the presence of exceptions in
multiple threads the specification needs to be updated.
[ Resolution proposed by ballot comment ]
Update this clause to support safe calls from multiple threads without placing synchronization requirements on the user.
[ 2010 Batavia Concurrency group provides a Proposed Resolution ]
[ Adopted at 2010-11 Batavia ]
Proposed resolution:
Change 99 [uncaught] p. 1 as follows:
Returns: true
after the current thread has initialized initializing
an exception object (15.1) until a handler for the exception (including unexpected()
or terminate()
)
is activated (15.3). [ Note: This includes stack unwinding (15.2). — end note ]