35 void store() const noexcept;
52 static
void clear() noexcept;
91 #define IMPLEMENT_LUA_JAILBREAK_EXCEPTION(type) \
93 virtual type* clone() const final { return new type(*this); } \
95 virtual void execute() final \
97 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
static int jail_depth
Depth of recursive luaW_pcall_internal() function calls.