Lua 的 error 函数是一个用于显式抛出错误的内置函数,它会中断当前程序的正常执行流程。该函数有两种调用形式:
参数说明:
message:字符串类型的错误信息,是必选参数level:可选参数,指定错误发生的位置层级,默认为1(表示调用error的位置)
使用示例:
1function divide(a, b) 2 if b == 0 then 3 error("除数不能为零") -- 抛出错误 4 end 5 return a / b 6end 7 8-- 调用示例 9local ok, result = pcall(divide, 10, 0) 10if not ok then 11 print("发生错误:", result) -- 输出:发生错误:除数不能为零 12end 13
错误处理建议:
与assert的区别:
高级用法:
可以抛出table类型的错误信息:
1error({ 2 code = 1001, 3 msg = "无效的参数", 4 detail = "参数类型应为number" 5}) 6
在Lua 5.2+版本中,error函数还支持第三个参数,用于控制是否在错误信息中包含调用栈信息。
《Lua 的 error 函数》 是转载文章,点击查看原文。
