On Error Resume Next 語句
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
啟用或禁用錯(cuò)誤處理程序。
說明 如果在您的代碼中未使用 On Error Resume Next 語句, 所發(fā)生的運(yùn)行時(shí)錯(cuò)誤 將顯示錯(cuò)誤信息,同時(shí),代碼的執(zhí)行也隨之終止。但是具體操作由運(yùn)行代碼的主機(jī)決定。主機(jī)有時(shí)可有選擇地處理各類錯(cuò)誤。在有些情況下,它可以在出錯(cuò)的地方激活腳本調(diào)試器。而在另一些情況下, 由于主機(jī)無法通知用戶,因此對所發(fā)生的錯(cuò)誤沒有明確說明。至于如何處理錯(cuò)誤則完全取決于主機(jī)的功能。 在任意一個(gè)特殊過程中,只要在調(diào)用堆棧的地方啟用錯(cuò)誤處理程序,所發(fā)生的錯(cuò)誤一般不會是致命性的。如果在一個(gè)過程中沒有啟用局部錯(cuò)誤處理程序,當(dāng)發(fā)生錯(cuò)誤時(shí),控制可通過堆棧調(diào)用轉(zhuǎn)移,直到找到一個(gè)具有錯(cuò)誤處理程序的過程,并在出錯(cuò)的地方處理錯(cuò)誤。如果在調(diào)用堆棧的過程中沒有找到錯(cuò)誤處理程序,則在出錯(cuò)的地方顯示錯(cuò)誤信息,同時(shí)終止代碼執(zhí)行,或者通過主機(jī)來正確處理錯(cuò)誤。 On Error Resume Next 會使程序按照產(chǎn)生錯(cuò)誤的語句之后的語句繼續(xù)執(zhí)行,或是按照最近一次所調(diào)用的過程(該過程含有 On Error Resume Next 語句)中的語句繼續(xù)運(yùn)行。這個(gè)語句可以不顧運(yùn)行時(shí)錯(cuò)誤,繼續(xù)執(zhí)行程序,之后您可以在過程內(nèi)部建立錯(cuò)誤處理例程。在調(diào)用另一個(gè)過程時(shí),On Error Resume Next 語句變?yōu)榉腔顒拥?。所以,如果希望在例程中進(jìn)行內(nèi)部錯(cuò)誤處理,則應(yīng)在每一個(gè)調(diào)用的例程中執(zhí)行 On Error Resume Next 語句。 當(dāng)調(diào)用另一過程時(shí),禁止使用On Error Resume Next 語句,因此如果您想在例程中嵌入錯(cuò)誤處理程序,則需要在每次調(diào)用例程時(shí)都應(yīng)執(zhí)行 On Error Resume Next 語句。當(dāng)退出一個(gè)過程時(shí),錯(cuò)誤處理程序可恢復(fù)到它在進(jìn)入所退出過程之前的狀態(tài)。 如果您已啟用 On Error Resume Next 錯(cuò)誤處理程序,則可使用 On Error GoTo 0禁用錯(cuò)誤處理程序。 <% If err.Number <> 0 Then Response.Write "Number = " & err.Number & "<p>" Response.Write "Description = " & err.Description & "<p>" Response.Write "Source = " & err.Source err.Clear %> 該文章在 2011/2/16 10:29:20 編輯過 |
相關(guān)文章
正在查詢... |