啟用或禁用錯誤處理程序。
說明
如果在您的代碼中未使用OnErrorResumeNext語句,所發生的運行時錯誤將顯示錯誤信息,同時,代碼的執行也隨之終止。但是具體操作由運行代碼的主機決定。主機有時可有選擇地處理各類錯誤。在有些情況下,它可以在出錯的地方激活腳本調試器。而在另一些情況下,由于主機無法通知用戶,因此對所發生的錯誤沒有明確說明。至于如何處理錯誤則完全取決于主機的功能。
在任意一個特殊過程中,只要在調用堆棧的地方啟用錯誤處理程序,所發生的錯誤一般不會是致命性的。如果在一個過程中沒有啟用局部錯誤處理程序,當發生錯誤時,控制可通過堆棧調用轉移,直到找到一個具有錯誤處理程序的過程,并在出錯的地方處理錯誤。如果在調用堆棧的過程中沒有找到錯誤處理程序,則在出錯的地方顯示錯誤信息,同時終止代碼執行,或者通過主機來正確處理錯誤。
OnErrorResumeNext會使程序按照產生錯誤的語句之后的語句繼續執行,或是按照最近一次所調用的過程(該過程含有OnErrorResumeNext語句)中的語句繼續運行。這個語句可以不顧運行時錯誤,繼續執行程序,之后您可以在過程內部建立錯誤處理例程。在調用另一個過程時,OnErrorResumeNext語句變為非活動的。所以,如果希望在例程中進行內部錯誤處理,則應在每一個調用的例程中執行OnErrorResumeNext語句。
當調用另一過程時,禁止使用OnErrorResumeNext語句,因此如果您想在例程中嵌入錯誤處理程序,則需要在每次調用例程時都應執行OnErrorResumeNext語句。當退出一個過程時,錯誤處理程序可恢復到它在進入所退出過程之前的狀態。
如果您已啟用OnErrorResumeNext錯誤處理程序,則可使用OnErrorGoTo0禁用錯誤處理程序。
- <%
- If err.Number <> 0 Then
- Response.Write "Number = " & err.Number & "<p>"
- Response.Write "Description = " & err.Description & "<p>"
- Response.Write "Source = " & err.Source
- err.Clear
- %>