欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-15 10:32:45
一、err对象 err对象使用的时候不需要创建实例,就是说你要用的时候随便拿来使用,就像session一样。 不需要像adodb对象使用的时候set conn=serv...

一、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对象做点事情。