| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include "catch_enforce.h" |
| |
|
| | #include <stdexcept> |
| |
|
| |
|
| | namespace Catch { |
| | #if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) && !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS_CUSTOM_HANDLER) |
| | [[noreturn]] |
| | void throw_exception(std::exception const& e) { |
| | Catch::cerr() << "Catch will terminate because it needed to throw an exception.\n" |
| | << "The message was: " << e.what() << '\n'; |
| | std::terminate(); |
| | } |
| | #endif |
| |
|
| | [[noreturn]] |
| | void throw_logic_error(std::string const& msg) { |
| | throw_exception(std::logic_error(msg)); |
| | } |
| |
|
| | [[noreturn]] |
| | void throw_domain_error(std::string const& msg) { |
| | throw_exception(std::domain_error(msg)); |
| | } |
| |
|
| | [[noreturn]] |
| | void throw_runtime_error(std::string const& msg) { |
| | throw_exception(std::runtime_error(msg)); |
| | } |
| |
|
| |
|
| |
|
| | } |
| |
|