nested_exceptionは、例外をネストするための、簡単なクラスである。ユーザー定義のクラスから継承して使うことを想定されている。 struct CustomException : std::nested_exception { } ; int main() { try { try { try { throw 123 ; // 何らかのエラー } catch( int e ) { // ここで、元の例外の値を保持しつつ、別の例外を一時的にthrowしたい std::cout << e << std::endl ; throw CustomException() ; } } catch( CustomException e ) { std::cout << "CustomException" << std::endl ; std::rethrow_if_nested( e ) ; /