返回首页
当前位置: 主页 > 编程语言 > ASP教程 >

asp的err和error小结

时间:2015-09-14 17:11来源:电脑教程学习网 www.etwiki.cn 编辑:admin

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

 

 

方法一:
<%
Response.Buffer=True
Response.Flush()
On Error Resume Next
FileMapPath="../AccessDataBase/#AccessDataBase#asdf#as2342#3dfas#df343#24asdfat#hjbnbn23#sdfa#.mdb"
Set Conn=Server.CreateObject("Adodb.Connection")
DataBase="DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&server.mappath(FileMapPath)
Conn.Open DataBase

If Err.Number<>0 Then
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>数据库链接失败!</a>")
Conn.close
Response.End()
Else
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>数据库链接成功!</a>")
End If
%>
方法二:
<%
Response.Buffer=True
Response.Flush()
On Error Resume Next
FileMapPath="../AccessDataBase/#AccessDataBase#asdf#as2342#3dfas#df343#24asdfat#hjbnbn23#sdfa#.mdb"
Set Conn=Server.CreateObject("Adodb.Connection")
DataBase="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(FileMapPath)
Conn.Open DataBase

if Conn.Errors.Count<>0 then
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>数据库链接失败!</a>")
Conn.close
Response.End()
Else
Response.Write("<span style='font-size:14px;color:#ff0000;padding-left:15px;'>数据库链接成功!</a>")
End If
%>

------分隔线----------------------------
标签(Tag):asp
------分隔线----------------------------
推荐内容
猜你感兴趣