9 #ifndef CPROVER_UTIL_THROW_WITH_NESTED_H
10 #define CPROVER_UTIL_THROW_WITH_NESTED_H
20 #define DISABLE_NESTED_EXCEPTIONS
22 class non_nested_exception_support :
public std::runtime_error
25 non_nested_exception_support()
26 : std::runtime_error(
"Nested exception printing not supported on Windows")
39 #ifndef DISABLE_NESTED_EXCEPTIONS
40 std::throw_with_nested(t);
49 #ifndef DISABLE_NESTED_EXCEPTIONS
50 std::rethrow_if_nested(e);
53 if(!dynamic_cast<const non_nested_exception_support *>(&e))
55 throw non_nested_exception_support();
60 #endif // CPROVER_UTIL_THROW_WITH_NESTED_H