啟用或禁用錯誤處理程序。
說明
如果在您的代碼中未使用 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禁用錯誤處理程序。
<%
If err.Number <> 0 Then
Response.Write "Number = " & err.Number & "<p>"
Response.Write "Description = " & err.Description & "<p>"
Response.Write "Source = " & err.Source
err.Clear
%>