#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))