如何在vs2010控制台应用程序中使用c ++捕获来自lua_error的异常

时间:2013-10-09 14:06:44

标签: c++ visual-studio-2010 lua

我在vs2010控制台应用程序上使用Lua和LuaJIT-2.0.1,C ++。 我的问题是下面的代码没有从lua_error中捕获异常。 我不知道原因。

请帮帮我。

static int panic_function(lua_State *L)
{
    throw 100000;//std::exception( "LUA PANIC function !!!" );

    return 10;

}

int main()
{
    lua_State* L = lua_open();

    luaopen_base(L);
    luaL_openlibs(L);

    lua_atpanic(L, panic_function);

    try
    {
        return lua_error(L);        
    }
    catch(int k)
    {
        printf("panic result %d\n", k);
    }   

    lua_close(L);

    return 0;
}

0 个答案:

没有答案