xpcall (f, msgh [, arg1, ···])
!subtitle:说明
以保护模式调用函数 fn(arg1, ...),并将错误对象传递给错误消息处理器 msgh。保护模式意味着函数内部的任何错误都都不会被传播,而是会被捕获并返回。
!subtitle:参数
fn - 要调用的函数
msgh - 错误消息处理器
arg1, ... - 调用 fn 时的参数
!subtitle:返回值
成功时返回 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))
xpcall - Lua 5.4 Reference Manual