隆多假动作上篮:[分享]慎用On Error Resume Next错误陷井

来源:百度文库 编辑:九乡新闻网 时间:2024/05/03 06:06:16

在编程时,经常使用错误陷井技术(On Error Resume Next),以下就是一段例子:

 On Error Resume Next '利用错误陷井
    Sheets("data").Cells.Delete '先对DATA工作表清空,如果已经存在工作表DATA,就不会报错
    If Err.Number <> 0 Then '如果出错,说明DATA工作表不存在
        Sheets.Add.Name = "DATA" '那么就自动添加一个工作表,并命名为DATA
        Err.Clear'清除错误标记,
        On Error GoTo 0'恢复系统默认错误处理
    End If

其实,一般情况下是可行的,因为VBE默认的错误捕获方式是图示的绿色方框标识的“遇到未处理的错误时中断”。

但是,一旦将错误捕获方式修改成图示的红色方框标识的“发生错误则中断”时,再想利用错误陷井,你就会被拒之门外了!因为系统一遇到就中断,不会忽略过去,所以,以上代码运行时,如果DATA工作表不存在,代码就始终无法按你预期的那样自动往下执行!