#pragma once #include // TODO: This MUST be changed to something less generic #define EXCEPTION(message) Exception(message, typeid(*this).name()) class Exception { public: Exception(const std::string& message, const std::string& class_name); const std::string& get_message(); const std::string& get_class_name(); private: std::string m_message; std::string m_class_name; };