手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp编程>列表

ASP的错误处理集锦

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

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以前也要进行错误处理。
让你处理错误的包含文件在代码的最上面
  我希望这篇文章对你们有所用,因为我在我们的论坛中已经发现有人在问这个问题了!也许我编译出这篇文章能对你们起些作用。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!