函数:pcall 捕获简易报错

函数名称:捕获简易报错

函数功能:捕获简易报错,执行成功返回 true,失败返回 false

函数方法

ok,err = pcall(func,a1,a2,...)

参数 类型 必填 说明
func function 要执行的函数
a1 - 需要传递的给 func 的参数
返回值 类型 说明
ok boolean true - 执行成功,false - 执行失败
err string ok 为 true 时返回正确内容,false 返回错误信息

函数示例

local function work()
    error("自定义异常信息")
end

local ok, err = pcall(work)
dialog(err) -- custom error info
--示例2
local function test()
    local t = 2
    nLog1(t) -- 故意报错
end

local ok, err = pcall(test)
if not ok then
    dialog("出错了:"..err)
end

注意事项

  • 推荐使用 xpcall,xpcall 与 pcall 具体区别如下
特性 pcall xpcall
错误回调函数 有第二个参数错误处理器
自动获取堆栈 不支持 在错误 handler 里直接拿完整栈
参数传递 支持 pcall(f, ...) 支持 xpcall(f, err, ...)
适用场景 简单容错、只需要判断成功失败 日志、报错上报、需要定位代码行
  • 加密后可能无法获取到具体报错信息,推荐用于源码调试阶段。
Copyright 北京帮你玩科技有限公司 2026 all right reserved,powered by Gitbook该文章修订时间: 2026-07-03 12:40:38

results matching ""

    No results matching ""