论 Lua错误处理 之 error assert pcall xpcall 函数的使用和区别

error (message [, level])

在Lua中使用error函数抛出错误信息,通常包含调用堆栈信息以及错误提示信息!

第一个参数message为自定义的错误提示信息。
第二个参数为可选的出错位置信息,默认为1,即为调用error函数的位置;2即为调用error函数的函数的位置;0则不打印出错位置信息!

assert (v [, message])

assert是error的包装,将判断之类的操作包装了进去!所以使用assert比之使用error更为方便!
第一个参数为nil或判断的结果为false的时候抛出错误,中止运行,调用error函数;否则继续执行!
第二个参数为可选的错误提示信息,如果提供这个参数,调用error函数的时候则打印出message;否则使用默认的"assertion failed!"。

相关推荐