错误处理
在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')