On Error 語句
啟用或禁用錯誤處理程序。
On Error Resume Next
On Error GoTo 0
說明
如果在您的代碼中未使用 On Error Resume Next 語句, 所發生的運行時錯誤 將顯示錯誤信息,同時,代碼的執行也隨之終止。但是具體操作由運行代碼的主機決定。主機有時可有選擇地處理各類錯誤。在有些情況下,它可以在出錯的地方激活腳本調試器。而在另一些情況下, 由于主機無法通知用戶,因此對所發生的錯誤沒有明確說明。至于如何處理錯誤則完全取決于主機的功能。
在任意一個特殊過程中,只要在調用堆棧的地方啟用錯誤處理程序,所發生的錯誤一般不會是致命性的。如果在一個過程中沒有啟用局部錯誤處理程序,當發生錯誤時,控制可通過堆棧調用轉移,直到找到一個具有錯誤處理程序的過程,并在出錯的地方處理錯誤。如果在調用堆棧的過程中沒有找到錯誤處理程序,則在出錯的地方顯示錯誤信息,同時終止代碼執行,或者通過主機來正確處理錯誤。
On Error Resume Next 會使程序按照產生錯誤的語句之后的語句繼續執行,或是按照最近一次所調用的過程(該過程含有 On Error Resume Next 語句)中的語句繼續運行。這個語句可以不顧運行時錯誤,繼續執行程序,之后您可以在過程內部建立錯誤處理例程。在調用另一個過程時,On Error Resume Next 語句變為非活動的。所以,如果希望在例程中進行內部錯誤處理,則應在每一個調用的例程中執行 On Error Resume Next 語句。
當調用另一過程時,禁止使用On Error Resume Next 語句,因此如果您想在例程中嵌入錯誤處理程序,則需要在每次調用例程時都應執行 On Error Resume Next 語句。當退出一個過程時,錯誤處理程序可恢復到它在進入所退出過程之前的狀態。
如果您已啟用 On Error Resume Next 錯誤處理程序,則可使用 On Error GoTo 0禁用錯誤處理程序。
下面例子舉例說明如何使用 On Error Resume Next 語句:
On Error Resume NextErr.Raise 6 '
產生溢出錯誤。MsgBox ("Error # " CStr(Err.Number) " " Err.Description)
Err.Clear '
清除錯誤。
您可能感興趣的文章:- vbScript on error resume next容錯使用心得
- VBScript中On Error語句用法小結