码迷,mamicode.com
首页 > 其他好文 > 详细

xpcall

时间:2018-03-05 13:40:15      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:pre   gpo   传递   ror   return   log   erro   过程   模式   

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

标签:pre   gpo   传递   ror   return   log   erro   过程   模式   

原文地址:https://www.cnblogs.com/i-love-kobe/p/8508330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!