bool uncaught_exception() noexcept;
Returns: true after the current thread has initialized an exception object ([except.throw]) until a handler for the exception (including std::unexpected() or std::terminate()) is activated ([except.handle]). [ Note: This includes stack unwinding ([except.ctor]). — end note ]
Remarks: When uncaught_exception() returns true, throwing an exception can result in a call of std::terminate() ([except.terminate]).