Template:cpp/experimental/exceptions reporting behavior


 * If execution of a function invoked as part of the algorithm throws an exception,
 * if is, std is called
 * if is  or, the algorithm exits with an  containing all uncaught exceptions. If there was only one uncaught exception, the algorithm may rethrow it without wrapping in . It is unspecified how much work the algorithm will perform before returning after the first exception was encountered.
 * if is some other type, the behavior is implementation-defined


 * If the algorithm fails to allocate memory (either for itself or to construct an when handling a user exception), std is thrown.