错误对象

本文详细介绍了ASP中ERR对象的使用方法,包括无需实例化的特点、Description方法的使用,以及与ADODB对象的区别。并通过示例代码展示了如何捕获和处理错误,对比了ERR对象与asperror对象在异常处理上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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对象做点事情.

转载于:https://www.cnblogs.com/lykouyi/p/5687887.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值