錯誤的類型有三種主要的錯誤類型:
編譯錯誤:
運行錯誤
邏輯錯誤
錯誤簡歷下一步的(這裡提醒一下初學者,在ASP中只有在錯誤恢復下一步語句沒有錯誤簡歷轉到語句)如果你不使用了on error resume
下面就是一個錯誤代碼:
Microsoft OLE DB提供ODBC驅動程序錯誤80004005[微軟] [ODBC驅動程序管理器]數據源名稱未發現和未指定默認驅動程序/ test.asp,第60行
當我們在程序最上面使用了on error resume處理錯誤
<%'設置緩衝區為真將Response.Buffer =真“開始錯誤處理在錯誤恢復下一步%><%'錯誤處理如果Err.Number中<> 0'清除頁面Response.Clear'顯示錯誤信息給用戶%><HTML><HEAD><TITLE> </ TITLE></ HEAD><BODY BGCOLOR="#C0C0C0">的防禦對部隊的錯誤發生在執行這個ASP頁面<BR>的請報告以下信息支持台<P><B>頁面錯誤對象</ B> <BR>錯誤:<%= Err.Number的%> - 錯誤信息:<%= Err.Description%,> <BR>出錯文件:<%= Err.Source%> <BR>出錯行:<%= Err.Line%> <BR></ FONT></ BODY></ HTML><%結束,如果%>你們上面看到了,我首先設置了on error resume下一步,這樣出現錯誤就不會影響程序的執行。錯誤處理和數據庫錯誤恢復下一步為避免這種情況,我們就先得做些手腳,正確處理的方法如下:,如果Err.Number中= 0和objConnection.Errors.Count = 0然後
“這裡才能執行語句的,因為沒有錯誤設置rstResults = dbData.Execute(txtSql)如果結束
更多高級的處理辦法
<%如果Err.Number中<> 0Response.Clear選擇案例Err.Number中案例8'指定錯誤的號碼'在這裡處理自定義錯誤其他案例“一般錯誤如果隨後則IsObject(objConnection)如果objConnection.Errors.Count> 0%><B>數據庫連接對象</ B><%對於intLoop = 0至objConnection.Errors.Count - 1%>
錯誤:<%= objConnection.Errors(intLoop)。數目%> <BR>說明:<%= objConnection.Errors(intLoop)。描述%> <BR>來源:<%= objConnection.Errors(intLoop)來源%> <BR>SQLSTATE:<%= objConnection.Errors(intLoop)。SQLSTATE%> <BR>NativeError中:<%= NativeError中objConnection.Errors(intLoop)。“
<%下如果結束如果結束如果Err.Number中<> 0%><B>頁面錯誤對象</ B> <BR>錯誤編號<%= Err.Number的%> - 錯誤描述<%= Err.Description%> - 源<%= Err.Source%> - LINENUMBER <%。= Err.Line%> <P><%如果結束最終選擇如果結束%>
案例語句,它能讓我們來處理特定的錯誤。重定向和錯誤處理
,如果Err.Number中= 0和objConnection.Errors.Count = 0然後
Response.Clear的Response.Redirect?<網址>?
如果結束
把代碼變得更整齊
在你程序的最上方加入(當然在語言聲明之後)在錯誤恢復下一步語句。在你執行SQL以前進行錯誤檢查。使用重定向以前也要進行錯誤處理。讓你處理錯誤的包含文件在代碼的最上面
沒有留言:
張貼留言