Lua学习笔记——异常处理pcall、xpcall、debug
目录
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所创,推荐一下!我也在群里!