1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Clean up/improve some scriptapi error handling code

This commit is contained in:
sfan5 2021-09-10 23:16:46 +02:00 committed by GitHub
parent 7423c4c11e
commit 766e885a1b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 120 additions and 94 deletions

View file

@ -75,9 +75,6 @@ extern "C" {
} \
}
#define script_run_callbacks(L, nargs, mode) \
script_run_callbacks_f((L), (nargs), (mode), __FUNCTION__)
// What script_run_callbacks does with the return values of callbacks.
// Regardless of the mode, if only one callback is defined,
// its return value is the total return value.
@ -108,16 +105,17 @@ enum RunCallbacksMode
// are converted by readParam<bool> to true or false, respectively.
};
// Gets a backtrace of the current execution point
std::string script_get_backtrace(lua_State *L);
// Wrapper for CFunction calls that converts C++ exceptions to Lua errors
int script_exception_wrapper(lua_State *L, lua_CFunction f);
// Takes an error from lua_pcall and throws it as a LuaError
void script_error(lua_State *L, int pcall_result, const char *mod, const char *fxn);
void script_run_callbacks_f(lua_State *L, int nargs,
RunCallbacksMode mode, const char *fxn);
bool script_log_unique(lua_State *L, std::string message, std::ostream &log_to,
int stack_depth = 1);
enum class DeprecatedHandlingMode {
enum DeprecatedHandlingMode {
Ignore,
Log,
Error