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