【发布时间】:2013-01-28 23:29:43
【问题描述】:
在 Lua C 处理程序中,我在抛出错误之前在注册表中设置了一个标志。如果使用 pcall 从 Lua 调用处理程序,我想确保设置(或清除)此标志。以下是更多详细信息:
我有一个基本的 Lua 函数 handle 使用 lua_pcall 从 C 调用:
function handle()
c_handle()
end
C 中的句柄具有下面的基本结构,我们希望在抛出错误之前设置一个标志以将错误与其他错误区分开来。
int c_handle(lua_State *L)
{
if (condition) {
set a flag in registry
throw error with lua_error
}
如果 Lua 使用 pcall 调用处理程序,我想要么不设置注册表标志,要么清除它:
function handle()
pcall(c_handle)
end
【问题讨论】:
-
你能用你自己的版本替换
pcall吗?
标签: lua