An exception is considered uncaught
after completing the initialization of the
exception object
until completing the activation of a handler for the exception (
[except.handle])
. [
Note 1:
As a consequence, an exception is considered uncaught
during any stack unwinding resulting from it being thrown
. —
end note]
If an exception is rethrown (
[expr.throw],
[propagation]),
it is considered uncaught from the point of rethrow
until the rethrown exception is caught
. The function
std::uncaught_exceptions (
[uncaught.exceptions])
returns the number of uncaught exceptions in the current thread
.