MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / default_traceback_error_handler

Function default_traceback_error_handler

extlibs/sol3/include/sol/sol.hpp:24162–24181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24160 }
24161
24162 inline int default_traceback_error_handler(lua_State* L) {
24163 std::string msg = "An unknown error has triggered the default error handler";
24164 optional<string_view> maybetopmsg = stack::unqualified_check_get<string_view>(L, 1, no_panic);
24165 if (maybetopmsg) {
24166 const string_view& topmsg = maybetopmsg.value();
24167 msg.assign(topmsg.data(), topmsg.size());
24168 }
24169 luaL_traceback(L, L, msg.c_str(), 1);
24170 optional<string_view> maybetraceback = stack::unqualified_check_get<string_view>(L, -1, no_panic);
24171 if (maybetraceback) {
24172 const string_view& traceback = maybetraceback.value();
24173 msg.assign(traceback.data(), traceback.size());
24174 }
24175#if defined(SOL_PRINT_ERRORS) && SOL_PRINT_ERRORS
24176 //std::cerr << "[sol3] An error occurred and was caught in traceback: ";
24177 //std::cerr << msg;
24178 //std::cerr << std::endl;
24179#endif // Printing
24180 return stack::push(L, msg);
24181 }
24182
24183 inline void set_default_state(lua_State* L, lua_CFunction panic_function = &default_at_panic, lua_CFunction traceback_function = c_call<decltype(&default_traceback_error_handler), &default_traceback_error_handler>, exception_handler_function exf = detail::default_exception_handler) {
24184 lua_atpanic(L, panic_function);

Callers 1

get_traceback_or_errorsFunction · 0.85

Calls 7

pushFunction · 0.85
luaL_tracebackFunction · 0.70
valueMethod · 0.45
assignMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected