xpcall

Posted Steve_Nash

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xpcall相关的知识,希望对你有一定的参考价值。

pcall

pcall第一个参数接受一个函数,之后的都是传递给这个函数的参数。pcall以一种保护模式来调用第一个参数,如果执行过程中有错误就返回false,没错误就返回true。

local function fun()
    error(111)
end

if pcall(fun) then
    print(‘no error‘)
else
    print(‘has error‘)
end

-- has error

pcall其实是会返回两个值,第二个就是错误信息,如果没有错误,那么第二个返回值就是nil

xpcall

pcall比pcall多接收一个参数,第二个参数接收一个错误处理函数。

local function fun()
    error(111)
    return ‘i am ret‘
end

local function errorHandler(err)
    print(‘HAS ERROR!--->‘.. err)
end

status, ret = xpcall(fun, errorHandler)

以上是关于xpcall的主要内容,如果未能解决你的问题,请参考以下文章

lua中怎么捕获错误异常信息

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板