Asp中err和error对象的属性详解及用法示例

  一、ERR对象

  err对象使用的时候不需要创建实例,就是说你要用的时候随便拿来使用,就像session一样。

  不需要像ADODB对象使用的时候Set conn=Server.CreateObject(“ADODB.Connection”)来创建实例,它返回一个错误代码。

  但是Err!=Err.Number,可以用Clear方法清除,以利于下次使用.它主要的是个Description方法,返回的是简要错误说明,这里一个很经典的例子:

  程序代码:

  

复制代码 代码如下:

  < %@ LANGUAGE="VBscript" %>

  < %Response.Buffer = True

  On Error Resume Next

  %>

  < %

  s="sa"

  response.write(Int(s))

  If Err.Number <> 0 Then

  Response.Clear

  response.write"发生错误:"%>

  <html>

  <head>

  <title></title>

  </head>

  <body>

  错误 Number: < %= Err.Number %><br />

  错误信息: < %= Err.Description %><br />

  出错文件: < %= Err.Source %><br />

  出错行: < %= Err.Line %><br />

  < %= Err %>

  </body>

  </html>

  < %End If%>

  运行一看,Err.Line 为空,为啥?因为asp的vb编写的里面line方法不被支持。

  值得注意的是要使用err对象的时候,必须加上On Error Resume Next,原来越过asperror对象的异常抛出。

  二、ERROR对象

  在链接数据库的时候可以使用error对象:

  Count属性:用来统计Errors集合的数目。

  Item方法:用来指定特定的一个错误,语法为Error.Item(number),其中number为一数字。

  由于Item为默认的方法,所以Error(number)的写法与前面的写法是等价的。

  下面是一段程序。用来列举Error对象:

  程序代码:

  

复制代码 代码如下:

  < %

  On Error Resume next

  Set conn=Server.CreateObject("ADODB.Connection")

  Dim i,your_databasepath:your_databasepath="no.mdb"

  connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(your_databasepath)&""

  conn.open connstr

  if conn.errors.count<>0 then

  response.write "链接数据库失败<hr />"

  for i =0 to conn.errors.count-1

  response.write conn.errors.item(i)&"<hr />"

  response.write Err.Description

  next

  else

  response.write "链接数据库成功"

  end if

  conn.close

  %>

  没啥差别和err对象,看到比较结果了么?直接用err对象简单。

  一般建议在调试的时候用asperror对象(就相当于不处理,出错是网页上显示的默认信息就是),

  就是把On Error Resume next 这行rem了,就默认用asperror抛出了。

  在正式运行的时候,除非特殊要求,可以使用err对象做点事情。