30 void store() const noexcept;
47 static
void clear() noexcept;
86 #define IMPLEMENT_LUA_JAILBREAK_EXCEPTION(type) \
88 virtual type* clone() const { return new type(*this); } \
90 virtual void execute() \
92 type exception(dynamic_cast<type&>(*jailbreak_exception)); \
Base class for exceptions that want to be thrown 'through' lua.
static lua_jailbreak_exception * jailbreak_exception
The exception to be rethrown.
virtual void execute()=0
Executes the exception.
void store() const noexcept
Stores a copy the current exception to be rethrown.
static void rethrow()
Rethrows the stored exception.
static void clear() noexcept
Clears the current exception.
virtual lua_jailbreak_exception * clone() const =0
Creates a copy of the current exception.
virtual ~lua_jailbreak_exception() noexcept