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

Posted welcome-to-fang-qi-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论 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!"。

以上是关于论 Lua错误处理 之 error assert pcall xpcall 函数的使用和区别的主要内容,如果未能解决你的问题,请参考以下文章

论TypeScript中的错误处理表示与领域驱动设计的优势

nginx lua处理图片

Lua 抛出错误 luajit: error loading module 'libpaths' from file

error yes查看lua调用栈 no进行调试如下图,一老弹出来,怎么解决?

Lua 尝试索引全局“自我”错误(GMod Lua 脚本)

干货大放送~golang错误处理之error