重要的东西转载一下
xpcall 接受两个参数:调用函数、错误处理函数。
当错误发生时,Lua会在栈释放以前调用错误处理函数,因此可以使用debug库收集错误相关信息。
常用的debug处理函数:debug.debug和debug.traceback,
前者给出Lua的提示符,你可以自己动手察看错误发生时的情况;
后者通过traceback创建更多的错误信息,也是控制台解释器用来构建错误信息的函数。
你可以在任何时候调用debug.traceback获取当前运行的traceback信息。
function traceback( msg )
print("----------------------------------------")
print("LUA ERROR: " .. tostring(msg) .. "\n")
print(debug.traceback())
print("----------------------------------------")
end
local function main()
-- ....
print("hello")
end
xpcall(main, traceback)
---------------------
作者:xuxhing
来源:优快云
原文:https://blog.youkuaiyun.com/xuxhing/article/details/32136429
本文为转载