VBS教程:VBscript語句-On Error 語句

NO IMAGE

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語句用法小結