【Lua学习笔记8】错误处理

332 阅读1分钟

错误处理

在lua中任何的意外情况都会抛出一个错误,但是因为lua经常嵌入到别的应用程序中,比如nginx,所有lua在出错的时候,不会使得程序退出或者奔溃,而是返回到应用程序。

手动抛出错误

function add(a, b)
    if not tonumber(a) or not tonumber(b) then
        error('a , b必须为数字')
    end
    return a + b
end
add(1, 'a')

像这种判断,也可以使用lua中的assert(断言)来处理:

function add(a, b)
    assert(tonumber(a), a .. '不是一个数字')
    assert(tonumber(b), b .. '不是一个数字')
    return a + b
end
add(1, 'a')