#pragma once #include #include #include class Exception : public std::exception { public: Exception(const char * fmt, ...); const char * what(); protected: Exception() = default; void va_format(va_list args, const char * fmt); std::unique_ptr error = NULL; };