An exception is considered uncaught
after completing the initialization of the exception object (
[except.throw])
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
.