查看: 2|回复: 0

LUA进阶教程——错误处理与调试

[复制链接]

28

主题

68

回帖

1441

积分

金牌会员

积分
1441
QQ
发表于 昨天 15:20 | 显示全部楼层 |阅读模式
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
end
xpcall:带错误栈
local ok, res = xpcall(function()
    error("oops")
end, debug.traceback)

print(res) -- 带调用栈信息
常用 debug 库
debug.traceback()        -- 栈信息
debug.getinfo(1)         -- 当前函数信息
debug.getlocal(1, 1)     -- 局部变量

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表