约 748 字

约 4 分钟

#Lua 的 xpcall 函数

xpcall (f, msgh [, arg1, ···])

说明

以保护模式调用函数 fn(arg1, ...),并将错误对象传递给错误消息处理器 msgh。保护模式意味着函数内部的任何错误都都不会被传播,而是会被捕获并返回。

参数

  • fn - 要调用的函数
  • msgh - 错误消息处理器
  • arg1, ... - 调用 fn 时的参数

返回值

  • 成功时返回 true 和 fn 的返回值
  • 失败时返回 false

#示例

function demo1(x, y)
    return x + y
end

function demo2()
    error("出错了")
end

-- 消息处理器
function messageHandler(msg)
    print(msg)
end

print(xpcall(demo1, messageHandler, 3, 7))
print(xpcall(demo2, messageHandler))

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

#推荐阅读

xpcall - Lua 5.4 Reference Manual

更新: 2026/2/6

作者: PlanC

创建: 2025/10/30