我最近在我的项目中实现了lua脚本,并且用户可以在游戏编辑器中输入他们的自定义脚本,但问题是......他们可以轻松输入一些随机的东西,程序会因异常而死......
所以我的问题是:在执行之前是否可以检查 lua脚本?并且最好指向输入的脚本不正确的确切位置。
我知道我可以添加“try”块,但它不是最好的解决方案。
更新:正如评论中所要求的那样:我正在为NET 4使用“LuaInterface”构建。
答案 0 :(得分:3)
请参阅手册中的error handling,具体为lua_load
。这会抓住编译时错误。然后请参阅lua_pcall
和luaL_traceback
来处理运行时错误。