Lua学习笔记——异常处理pcall、xpcall

                                 Lua学习笔记——异常处理pcall、xpcall、debug


目录

1、博客介绍

(1)pcall

(2)xpcall

3、推送

4、结语


1、博客介绍

本篇文章记录lua学习知识点,异常处理的方法pcall、xpcall、debug


2、内容

(1)pcall

pcall有两个参数,写法pcall(parm1,parm2),参数parma1为需要执行的方法,参数parm2为参数1方法的参数,pcall(~,~)返回一个布尔值,具体的写法如下,如果testFunc可以在接受参数后正常执行不出错,那么将会执行body1和body2的内容,反之则执行body3的内容。

function testFunc(num)
    -- body1
end

if pcall(testFunc,2) then
    -- body2
else
    -- body3
end

(2)xpcall

pcall的进阶版,参数一同样是需要执行的方法,参数二则是一个错误处理函数,可以在这个函数内打印错误相关的堆栈信息并返回错误信息,则xpcall的两个返回值分别是状态和错误信息。

function testFunc(num)
    error('error..')
end

function dealMsg(msg)
    print(msg)
    print(debug.traceback())
    return msg
end

local statue,mag = xpcall(testFunc,dealMsg)

3、推送


Github:https://github.com/KingSun5


4、结语


        若是觉得博主的文章写的不错,不妨关注一下博主,点赞一下博文,另博主能力有限,若文中有出现什么错误的地方,欢迎各位评论指摘。

       QQ交流群:806091680(Chinar)

       该群为CSDN博主Chinar所创,推荐一下!我也在群里!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章