14 Exception handling [except]

14.5 Special functions [except.special]

14.5.2 The std​::​uncaught_­exceptions() function [except.uncaught]

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]).
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() returns the number of uncaught exceptions in the current thread.