aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/Exception.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/Exception.h')
-rw-r--r--src/crepe/Exception.h16
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"
+