Lua C ハンドラで、エラーをスローする前にレジストリにフラグを設定しました。ハンドラーがpcall
. 詳細は次のとおりです。
handle
以下を使用して C から呼び出される基本的な Lua 関数がありますlua_pcall
。
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