四种全局错误处理模式的区别在于:
1、Process next step
这种模式忽略错误继续往下执行,可以通过Err.Number来判断是否发生了错误。
因为Case函数的每个步骤都是密切相关的,不可能忽略错误继续往下执行下一步骤
也不可能在每个步骤每个语句后面都加错误检查,这样错误处理代码太多了
在很多个步骤后再检查也是不严谨的,会错上加错,并因此失去第一个错误的信息
所以,这种模式不可取
2、Stop run
这种模式发生错误后,就抛出异常(可用Err对象得到异常里的错误信息),中止本函数,并一层一层的返回到上一层函数,最后到达Action函数后(Action本身也可以看成是个函数),就停止整个Test的执行。
在一层一层的返回上层函数的过程中,如果某个中间函数有On Error Resumt Next/On Error goto 0,就会把错误拦截下来,这个中间函数会继续往下执行,不会中止函数并返回上一层函数。
3、Popup message box
这种模式在发生错误时,弹出对话框让用户选择Stop、Retry、Skip、Debug。