亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

ASP錯誤的幾種常規處理方式

2019-11-18 20:13:55
字體:
來源:轉載
供稿:網友
簡單介紹
asp是非常簡單的,以至于許多的開發者不會去思考錯誤處理,正確處理錯誤能夠讓你的應用程序更加合理。我看到過很多個用ASP編寫的商業網站,大多數都忽略了錯誤處理。

有三種主要的錯誤類型: 
編譯錯誤:
這種錯誤出現一般都是代碼的語法問題。
因為編譯錯誤而導致辭ASP停止運行。 

運行錯誤
這個錯誤是發生在你準備運行ASP時的。
例如:如果你試圖給一個變量賦值,但是卻超出了該變量允許的范圍。 

邏輯錯誤
邏輯錯誤是最難被發現的,這種錯誤經常是一種結構錯誤,電腦是發現不了的。
這就需要我們徹頭徹尾地檢查我們的代碼。 
因為編譯錯誤一般是和邏輯錯誤一起發生的,一般都能顯示出來,所以我們擔心的就只是運行錯誤。它都終止ASP的運行,而且給用戶丟下一堆很不友好的文字。  

那么我們要怎樣處理運行錯誤呢?。课覀兿葋砜纯?,ASP唯一提供給我們的錯誤命令---On Error Resume Next(這里提醒一下初學者,在ASP中只有On Error Resume Next語句,沒有On Error Resume Goto語句)如果你不使用On Error Resume Next語句的話,一切運行錯誤都會發生,這個是致命的,那么就會有一段錯誤代碼“展現”給用戶,而且ASP程序也會停止。 

下面就是一個錯誤代碼: 

 
 Microsoft OLE DB      On Error Resume Next
  %>
  <% '錯誤處理
     If Err.Number <> 0 Then
  '清除頁面
  Response.Clear
        '顯示錯誤信息給用戶
   %>
    <HTML>
  <HEAD>
  <TITLE></TITLE>
  </HEAD>
        <BODY BGCOLOR="#C0C0C0">
  <FONT FACE="ARIAL">An error occurred in the execution of this ASP page<BR>
  Please report the following information to the support desk<P>
         <B>Page Error Object</B><BR>
         錯誤 Number: <%= Err.Number %><BR>
         錯誤信息: <%= Err.Description %><BR>
         出錯文件: <%= Err.Source %><BR>
         出錯行: <%= Err.Line %><BR>
   </FONT>
  </BODY>
    </HTML>
 
 <%End If%>
 

你們上面看到了,我首先設置On Error Resume Next ,這樣出現錯誤就不會影響程序的執行。
 
錯誤處理和
數據庫
在錯誤處理中加入數據庫的執行是很復雜的。假若我們有一個程序,有很多的命令去向數據庫中添加記錄,如果insert/update在程序的最底部執行,如果我們前面又錯誤發生,那就完了!我們就會向數據庫中添加了一個錯誤的信息。因為我們用了On Error Resume Next 一切的錯誤都被忽略了!即使前面出錯,程序依舊會向數據庫中添加數據的。
為避免這種情況,我們就先得做些手腳,正確處理的方法如下: 
 
  If Err.Number = 0 And objConnection.Errors.Count = 0 Then
 
  '這里才能執行語句,因為沒有錯誤
  Set rstResults = dbData.Execute(txtSql)
 
  End If
 
 
 
更多高級的處理辦法
當一個錯誤發生時,你們也可以顯示更多的錯誤信息。下面是同時處理數據庫和頁面錯誤的例子,有了它我們一下就能發現我們程序中的所有錯誤。(由于有些地方我覺得英文更能說時問題,所以沒有翻譯)。 
 <%
  If Err.Number <> 0 Then
           Response.Clear
           Select Case Err.Number
   Case 8 '指定錯誤的Number
  '在這里處理自定義錯誤
 
                Case Else      '一般錯誤
 
      If IsObject(objConnection) Then
             If objConnection.Errors.Count > 0 Then
 %>

                           <B>Database Connection Object</B>
 
 <%        For intLoop = 0 To objConnection.Errors.Count - 1 %>
 
                         Error No: <%= objConnection.Errors(intLoop).Number %><BR>
                         Description: <%= objConnection.Errors(intLoop).Description %><BR>
                         Source: <%= objConnection.Errors(intLoop).Source %><BR>
                         SQLState: <%= objConnection.Errors(intLoop).SQLState %><BR>
                         NativeError: <%= objConnection.Errors(intLoop).NativeError %><P>
 
 <% Next
  End If
    
              End If
           If Err.Number <> 0 Then
 %>
 
                      <B>Page Error Object</B><BR>
                      Error Number <%= Err.Number %><BR>
                      Error Description <%= Err.Description %><BR>
                Source <%= Err.Source %><BR>
        LineNumber <%= Err.Line %><P>
 
 <%     End If
        End Select
    End If
 %>
 
 
上面的例子讓我們一下了處理了很多在數據庫中出現的問題,這個在我們日常編程也是常用的!我們也應該看到那個Select Case 語句,它能讓我們來處理特定的錯誤。  
Redirect 和錯誤處理
有一點我們就當注意一下,就是我們常用到的redirect對象,如果一個頁面中出現了redirect對象,那么錯誤處理就失去了意義。所以在轉向之前我們還得處理一下,如下: 
 
  If Err.Number = 0 And objConnection.Errors.Count = 0 Then
 
 
  Response.Clear
  Response.Redirect ?lt;URL Here>?
 
  End If
 
 
 
把代碼變得更整齊
為了讓代碼變得更整齊,首先把錯誤處理的文件放在一個包含文件中。這樣你就可以在任何文件中使用它。這樣修改也方便。 
在你程序的最上方加入(當然在語言聲明之后)On Error Resume Next語句。 
在你執行SQL以前進行錯誤檢查。 
使用redirect以前也要進行錯誤處理。 
讓你處理錯誤的包含文件在代碼的最上面 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲激情在线观看| 久久久中精品2020中文| 午夜精品久久久久久久白皮肤| 日韩av片永久免费网站| 91精品国产乱码久久久久久蜜臀| 久久久精品视频在线观看| 久久久久北条麻妃免费看| 在线精品高清中文字幕| 超碰精品一区二区三区乱码| 成人精品视频99在线观看免费| 色综合久综合久久综合久鬼88| 亚洲天堂av在线播放| 欧美激情一级欧美精品| 国产精品中文字幕在线| 亚洲美女av在线播放| 色av吧综合网| 国产精品自产拍高潮在线观看| 91av在线视频观看| 亚洲精品日韩激情在线电影| 国产精品视频一区二区三区四| 亚洲男人天堂网| 日韩精品免费看| 国产精品成人av在线| 久久久久久亚洲精品| 国产精品久久久久久久久久久新郎| 欧美精品制服第一页| 久久久久中文字幕2018| 亚洲欧美一区二区三区久久| 精品国内自产拍在线观看| 久久久成人的性感天堂| 国产成人精品a视频一区www| 久久久亚洲欧洲日产国码aⅴ| 国产精品va在线播放| 九九九热精品免费视频观看网站| 亚洲第一在线视频| 中文字幕一区日韩电影| 9.1国产丝袜在线观看| 欧美中文字幕在线| 久久国内精品一国内精品| 91a在线视频| 久久久人成影片一区二区三区观看| 日韩av片免费在线观看| 黑人巨大精品欧美一区二区| 亚洲一区二区久久久久久久| 久久人人爽人人爽爽久久| 国产成人亚洲综合91精品| 日韩在线高清视频| 亚洲大胆人体在线| 精品视频9999| 日韩av成人在线| 亚洲欧美成人一区二区在线电影| 91av网站在线播放| 97在线精品国自产拍中文| 欧美一级片久久久久久久| 欧美高跟鞋交xxxxhd| 精品久久久久久久久久| 欧美日韩视频免费播放| 亚洲成人动漫在线播放| 538国产精品一区二区免费视频| 久久久这里只有精品视频| 91免费精品视频| 国产精品国语对白| 精品国产一区二区三区久久狼黑人| 亚洲欧美成人网| 2018中文字幕一区二区三区| 国产精品久久久久久久久久| 91免费国产网站| 国产精品日韩久久久久| 亚洲人成欧美中文字幕| 尤物99国产成人精品视频| 国产精品网红福利| 精品动漫一区二区三区| 久久免费福利视频| 国产精品黄色av| 国产精品久久久av| 精品亚洲一区二区三区在线观看| 伊人久久久久久久久久久| 久久久999国产精品| 欧美激情第99页| 8050国产精品久久久久久| www日韩欧美| 一本久久综合亚洲鲁鲁| 国产精品亚洲片夜色在线| 92看片淫黄大片欧美看国产片| 色哟哟网站入口亚洲精品| 久久久中精品2020中文| 欧美极品少妇与黑人| 不卡av日日日| 国产69久久精品成人看| 日韩电影免费观看在线| 久久全国免费视频| 亚洲精品少妇网址| 国产性猛交xxxx免费看久久| 久久人91精品久久久久久不卡| 岛国视频午夜一区免费在线观看| 成人网在线免费看| 欧美老妇交乱视频| 欧美极品少妇xxxxⅹ喷水| 91国产精品电影| 亚洲精品一区二区三区婷婷月| 亚洲精品久久久一区二区三区| 国产午夜精品视频免费不卡69堂| 日韩精品视频中文在线观看| 欧美日韩另类在线| 精品毛片网大全| 久久久免费高清电视剧观看| 欧美第一黄网免费网站| 欧美成人剧情片在线观看| 日韩有码在线播放| 欧美成人精品激情在线观看| 国产精品久久久久久久app| 久久久噜噜噜久久久| 日韩欧美中文字幕在线观看| 欧美肥老妇视频| 91夜夜揉人人捏人人添红杏| 亚洲天堂网在线观看| 国产一区二区丝袜高跟鞋图片| 三级精品视频久久久久| 亚洲综合在线中文字幕| 国产在线拍揄自揄视频不卡99| 欧美一级高清免费播放| 韩国国内大量揄拍精品视频| 国产精品欧美久久久| 国产亚洲aⅴaaaaaa毛片| 国产精品第一区| 亚洲成成品网站| 成人激情视频免费在线| 黄网站色欧美视频| 国产精品大片wwwwww| 欧美日韩国产91| 日韩免费中文字幕| 97在线视频免费观看| 久久精品免费电影| 国产成人短视频| 欧美xxxx18性欧美| 68精品国产免费久久久久久婷婷| 精品国产一区久久久| 国产精品无av码在线观看| 奇米4444一区二区三区| 亚洲福利视频专区| 蜜月aⅴ免费一区二区三区| 欧美成人免费va影院高清| 97在线视频免费播放| 精品国内产的精品视频在线观看| 麻豆国产va免费精品高清在线| 亚洲国产小视频| 国产精品综合网站| 在线观看日韩www视频免费| 欧美性xxxx在线播放| 国产精品电影久久久久电影网| 92看片淫黄大片看国产片| 大伊人狠狠躁夜夜躁av一区| 久久国产精品影视| 中文字幕av一区中文字幕天堂| 国产欧美精品一区二区三区-老狼| 亚洲精品第一国产综合精品| 久久天堂电影网| 国产精品视频一区二区三区四| 亚洲理论在线a中文字幕| 国产精品久久久久久网站| 日韩免费观看高清| 91久久久久久久久久久| 草民午夜欧美限制a级福利片| 国产精品老牛影院在线观看|