diff options
Diffstat (limited to 'src/crepe/Exception.h')
-rw-r--r-- | src/crepe/Exception.h | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/crepe/Exception.h b/src/crepe/Exception.h index 80af068..ed3ab15 100644 --- a/src/crepe/Exception.h +++ b/src/crepe/Exception.h @@ -2,21 +2,31 @@ #include <exception> #include <string> +#include <format> namespace crepe { -//! Exception class with printf-style constructor +//! Exception class class Exception : public std::exception { public: - //! printf - Exception(const char * fmt, ...); + //! Exception with plain message + Exception(const std::string & msg); + + //! Exception with \c std::format message + template<class... Args> + Exception(std::format_string<Args...> fmt, Args&&... args); + //! Get formatted error message const char * what() const noexcept; protected: Exception() = default; + //! Formatted error message std::string error; }; } // namespace crepe + +#include "Exception.hpp" + |