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

Function default_traceback_error_handler

Libs/sol/sol.hpp:24949–24968  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24947 }
24948
24949 inline int default_traceback_error_handler(lua_State* L) {
24950 std::string msg = "An unknown error has triggered the default error handler";
24951 optional<string_view> maybetopmsg = stack::unqualified_check_get<string_view>(L, 1, no_panic);
24952 if (maybetopmsg) {
24953 const string_view& topmsg = maybetopmsg.value();
24954 msg.assign(topmsg.data(), topmsg.size());
24955 }
24956 luaL_traceback(L, L, msg.c_str(), 1);
24957 optional<string_view> maybetraceback = stack::unqualified_check_get<string_view>(L, -1, no_panic);
24958 if (maybetraceback) {
24959 const string_view& traceback = maybetraceback.value();
24960 msg.assign(traceback.data(), traceback.size());
24961 }
24962#if SOL_IS_ON(SOL_PRINT_ERRORS_I_)
24963 // std::cerr << "[sol3] An error occurred and was caught in traceback: ";
24964 // std::cerr << msg;
24965 // std::cerr << std::endl;
24966#endif // Printing
24967 return stack::push(L, msg);
24968 }
24969
24970 inline void set_default_state(lua_State* L, lua_CFunction panic_function = &default_at_panic,
24971 lua_CFunction traceback_function = c_call<decltype(&default_traceback_error_handler), &default_traceback_error_handler>,

Callers 1

get_traceback_or_errorsFunction · 0.85

Calls 7

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

Tested by

no test coverage detected