The <exception_ptr> header is a non-standard header to provide the mechanism for storing exceptions and later rethrowing of exceptions so stored. This facility is provided as a non-standard header because the C++11 Standard incorporates it into the existing <exception> header.
namespace std { class exception_ptr; exception_ptr current_exception(); template<typename ExceptionType> exception_ptr copy_exception(ExceptionType e); void rethrow_exception(exception_ptr p); }