在执行前检查 Lua 脚本的 C#。

我最近在我的项目中实现了 Lua 脚本,用户可以在游戏编辑器中输入自定义脚本,但问题在于…他们很容易输入一些无谓的东西,导致程序出现异常。

我的问题是:在执行 lua 脚本之前是否可以 检查 它?最好能指出输入的脚本有错误的确切位置。

我知道我可以添加“try”块,但我认为这不是最好的解决方案。

更新:正如在评论中请求的那样:我正在使用为 .NET 4 构建的“LuaInterface”版本。

点赞
用户501459
用户501459

请参见手册中的错误处理部分,特别是 lua_load。这个函数会捕捉编译时错误。然后参阅lua_pcall,以及也许需要用到的 luaL_traceback 来处理运行时错误。

请参见手册中的错误处理部分,特别是 [`lua_load`](http://www.lua.org/manual/5.2/manual.html#lua_load)。这个函数会捕捉编译时错误。然后参阅[`lua_pcall`](http://www.lua.org/manual/5.2/manual.html#lua_pcall),以及也许需要用到的 [`luaL_traceback`](http://www.lua.org/manual/5.2/manual.html#luaL_traceback) 来处理运行时错误。 
2012-09-23 16:17:58