redis中lua脚本演示

callpcall 的区别

  1. call不会捕获异常直接把异常声明出去了,如果有异常,直接抛出,后面的代码不会执行

  2. pcall会捕获异常,我们可以处理也可以不处理,但是不影响后面代码命令的执行

正常执行

使用call,如果中间有异常,异常之前的命令正常执行,异常之后的命令不再执行了

可以看到执行代码后直接跑出了异常,但是异常之前的命令还是被执行了

使用pcall,可以看到并没有抛异常出来,并且异常之后的代码还会继续执行

第二行代码有问题,但是第一行和第三行代码还是正常执行了

Last updated

Was this helpful?