12345678910111213141516171819202122232425262728293031323334353637383940 |
- /*
- * Created by Martin on 03/09/2018.
- *
- * Distributed under the Boost Software License, Version 1.0. (See accompanying
- * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- */
- #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));
- }
- } // namespace Catch;
|