我一直在寻找一种方法来处理 Lua 的 C API 错误,并在控制台中简单地将它们打印出来。虽然,我无法找到一个单一的工作示例。我想做的就是:
static int test(lua_State *L)
{
if(!lua_isstring(L, 1))
return luaL_error(L, "This is not a valid string");
}
Run Code Online (Sandbox Code Playgroud)
或者
static int test(lua_State *L)
{
try
{
if (!lua_isstring(L, 1))
{
throw luaL_error(L, "This is not a valid string");
}
}
catch (int e)
{
std::cout << "Error " << e << std::endl;
}
}
Run Code Online (Sandbox Code Playgroud)
但到目前为止,还没有任何效果。使用 LUA C API 进行错误处理并在控制台中显示消息的正确方法是什么?