#ifndef CREATURELIB_CORE_HPP #define CREATURELIB_CORE_HPP #include #include #include #define export extern "C" #define CreatureLibException 1; class ExceptionHandler { static std::string _lastException; public: static void SetLastException(const std::exception& e) { _lastException = std::string(e.what()); } static const char* GetLastException() { return _lastException.c_str(); } }; #define Try(data) \ try { \ data; \ return 0; \ } catch (const std::exception& e) { \ ExceptionHandler::SetLastException(e); \ return CreatureLibException; \ } #endif // CREATURELIB_CORE_HPP