error (message [, level]) 在Lua中使用error函数抛出错误信息,通常包含调用堆栈信息以及错误提示信息! 第一个参数message为自定义的错误提示信息。第二个参数为可选的出错位置信息,默认为1,即为调用error函数的位置;2即为调用error函数的函数的位置;0则不打 ...
分类:
其他好文 时间:
2020-01-18 13:09:14
阅读次数:
107
pcall和xpcall pcall (f [, arg1, ···]) 传入参数,以 保护模式 调用函数 f 。 这意味着 f 中的任何错误不会抛出; 取而代之的是,pcall 会将错误捕获到,并返回一个状态码。 第一个返回值是状态码(一个布尔量), 当没有错误时,其为真。 此时,pcall 同样 ...
分类:
其他好文 时间:
2018-08-07 22:24:14
阅读次数:
177
pcall pcall第一个参数接受一个函数,之后的都是传递给这个函数的参数。pcall以一种保护模式来调用第一个参数,如果执行过程中有错误就返回false,没错误就返回true。 pcall其实是会返回两个值,第二个就是错误信息,如果没有错误,那么第二个返回值就是nil xpcall pcall比 ...
分类:
其他好文 时间:
2018-03-05 13:40:15
阅读次数:
318
如果需要在Lua中处理错误,必须使用函数pcall(protected call)来包装需要执行的代码。 pcall接收一个函数和要传递个后者的参数,并执行,执行结果:有错误、无错误;返回值true或者或false, errorinfo 复制代码代码如下: if pcall(function_nam ...
分类:
其他好文 时间:
2018-01-17 23:32:23
阅读次数:
200
lua中易混淆的函数 ipairs和pairs: ipairs只能顺序遍历table,遇到key不是数字就会退出 pairs可以遍历table中所有元素 pcall和xpcall pcall格式:pcall(function, ...) 运行函数返回true或false,不能打印信息 xpcall可 ...
分类:
其他好文 时间:
2017-10-06 22:27:49
阅读次数:
115
Lua错误处理程序运行中错误处理是必要的,在我们进行文件操作,数据转移及webservice调用过程中都会出现不可预期的错误。如果不注重错误信息的处理,就会照成信息泄露,程序无法运行等情况。任何程序语言中,都需要错误处理。错误类型有:语法错误运行错误====================..
分类:
其他好文 时间:
2017-09-02 00:12:13
阅读次数:
153
--[[ xpcall(调用函数,错误捕获函数); lua提供了xpcall来捕获异常 xpcall接受两个参数:调用函数、错误处理函数。 当错误发生时,Lua会在栈释放以前调用错误处理函数,因此可以使用debug库收集错误相关信息。 两个常用的debug处理函数:debug.debug和debu....
分类:
其他好文 时间:
2015-08-27 20:52:04
阅读次数:
116
当我们的Lua程序遇到有需要保护的代码或者方法时(即使程序异常,也只是抛出异常信息,而不是让程序崩溃),Lua为我们提供了两种解决的办法,这两种方法可以让我们捕获异常,因此封装自己的tryCatch函数。
1.pcall调用
2.xpcall调用
相同点:
当程序正常时,返回true,被执行函数的返回值
不同点:
1.参数不同
pcall(fun) ,参数只有一个被调用函数
xpcall(fun,errHandleFun),参数是被调用函数,错误函数处理
2.执...
分类:
其他好文 时间:
2014-08-26 17:30:06
阅读次数:
371