在下面的這個子程式中,我故意通過除以 0 導致錯誤。第一次發生此錯誤時,它跳轉到名為“errHandler”的處理程式,但是第二次發生錯誤時,執行停止并“除以 0”錯誤被引發。
我如何確保對于每個錯誤,它確實跳轉到“errHandler”?
(這是我正在撰寫的 SQL VBA 程式的核心問題)
Sub errorTest()
Dim i As Long
For i = 0 To 2
On Error GoTo errHandler
Debug.Print 8 / 0
continue:
Next i
Exit Sub
errHandler:
Err.Clear
On Error GoTo 0
GoTo continue
End Sub
uj5u.com熱心網友回復:
處理回圈中的錯誤
Next意味著它將在 (Next i) 中發生錯誤的陳述句之后繼續執行該陳述句。
Sub errorTest()
Dim i As Long
For i = 0 To 2
On Error GoTo errHandler
Debug.Print 8 / 0
Next i
Exit Sub
errHandler:
Debug.Print i, "Run-time error '" & Err.Number & "': " & Err.Description
Resume Next ' Resets the error, but keeps the routine 'active'.
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/394316.html
下一篇:以某種方式在公式中進行替換
