在lua中任何的意外狀況都會拋出一個錯誤,可是由於lua常常嵌入到別的應用程序中,好比nginx,全部lua在出錯的時候,不會使得程序退出或者奔潰,而是返回到應用程序。nginx
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(斷言)來處理:ui
function add(a, b)
assert(tonumber(a), a .. '不是一個數字')
assert(tonumber(b), b .. '不是一個數字')
return a + b
end
add(1, 'a')
複製代碼