一天三盒半 发表于 昨天 15:20

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]
查看完整版本: LUA进阶教程——错误处理与调试