在編程時(shí),經(jīng)常使用錯誤陷井技術(shù)(On Error Resume Next),以下就是一段例子:
On Error Resume Next '利用錯誤陷井
Sheets("data").Cells.Delete '先對DATA工作表清空,如果已經(jīng)存在工作表DATA,就不會(huì )報錯
If Err.Number <> 0 Then '如果出錯,說(shuō)明DATA工作表不存在
Sheets.Add.Name = "DATA" '那么就自動(dòng)添加一個(gè)工作表,并命名為DATA
Err.Clear'清除錯誤標記,
On Error GoTo 0'恢復系統默認錯誤處理
End If
其實(shí),一般情況下是可行的,因為VBE默認的錯誤捕獲方式是圖示的綠色方框標識的“遇到未處理的錯誤時(shí)中斷”。
但是,一旦將錯誤捕獲方式修改成圖示的紅色方框標識的“發(fā)生錯誤則中斷”時(shí),再想利用錯誤陷井,你就會(huì )被拒之門(mén)外了!因為系統一遇到就中斷,不會(huì )忽略過(guò)去,所以,以上代碼運行時(shí),如果DATA工作表不存在,代碼就始終無(wú)法按你預期的那樣自動(dòng)往下執行!
聯(lián)系客服