LUA进阶教程——错误处理与调试
pcall:安全调用(捕获异常)local function div(a,b)
if b==0 then error("div by zero") end
return a/b
end
local ok, res = pcall(div, 10, 0)
if ok then
print(res)
else
print("error:", res) -- error: div by zero
endxpcall:带错误栈
local ok, res = xpcall(function()
error("oops")
end, debug.traceback)
print(res) -- 带调用栈信息常用 debug 库
debug.traceback() -- 栈信息
debug.getinfo(1) -- 当前函数信息
debug.getlocal(1, 1) -- 局部变量
页:
[1]