Lua 错误处理函数 error()、 pcall()

error函数是让程序停止,进行错误处理

如下面代码调用error函数后悔直接报错,后续程序不再执行

function funC( num )
    if num == 0 then
        error("程序发生错误")
        print("是否执行?")
    else
        return 100/m
    end
end

funC(0)
print("程序继续")

pcall()函数:如果程序发生错误,不想让程序停止

pcall 有两个返回值
1 : 是否正确
2 : 错误原因

function func()
    print("a")
    print(a[1])-- 出现错误
end 

if pcall (funC) then
    print("程序继续")
else
    print("程序发生错误") -- 出错后继续调用
end
print("go on") --继续调用

返回值测试:

function test()
    print("a")
    print(a[1]) -- 错误,将原因打印
end

local b , r = pcall(test)
print(b) --false
print(r) -- attempt to index global 'a' (a nil value) a[1] 是nil值无法打印

猜你喜欢

转载自blog.csdn.net/liaoshengg/article/details/81331111