std::throw_with_nested (3) - Linux Manuals
std::throw_with_nested: std::throw_with_nested
NAME
std::throw_with_nested - std::throw_with_nested
Synopsis
Defined in header <exception>
template< class T > (since C++11)
[[noreturn]] void throw_with_nested( T&& t );
If std::decay<T>::type is a non-final non-union class type that is neither std::nested_exception nor derived from std::nested_exception, throws an exception of an unspecified type that is publicly derived from both std::nested_exception and from std::decay<T>::type, and constructed from std::forward<T>(t). The default constructor of the nested_exception base class calls std::current_exception, capturing the currently handled exception object, if any, in a std::exception_ptr.
Otherwise, throws std::forward<T>(t).
Requires that std::decay<T>::type is CopyConstructible
Parameters
t - the exception object to throw
Return value
(none)
Example
Demonstrates construction and recursion through a nested exception object
// Run this code
Output:
See also
nested_exception a mixin type to capture and store current exceptions
(C++11)
rethrow_if_nested throws the exception from a std::nested_exception
(C++11)