kisskitty是什么档次:事关程序命运 On Error Resume Next 问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 02:59:37
各位高手请教你们
我一个ASP投稿程序,数据库连接的代码是
<%
'dim conn
'dim connstr
'dim db
db="data/BB.asp" '数据库文件位置
on error resume next
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("ADODB.CONNECTION")
if err then
err.clear
else
conn.open connstr
end if
%>

但现在经常出现ASP跑死,不能打开,要过几分钟才能恢复。请问是不是和其中On Error Resume Next有关系,不能终止错误,如果是,如何避免在运行错误时,可以自动终止,释放出一些资源。
多谢各位!
如果删除了这个On Error Resume Next,会不会有大的弊端?
这个代码可否优化点,节省一些程序资源消耗,避免跑死ASP的情况?

首先,On Error Resume Next不是避难用的,一般来讲在程序调试无误以后,加上这句话,用来防止意外,如果本身你的程序就有问题,这句话的作用就是让你逃避错误。
其实删除这句话也没什么妨碍,这样的话if err then
err.clear
else
conn.open connstr
end if
就要改成
conn.open connstr
,这样的话Err就会实时的显示出来

程序有错时执行的是
if err then
err.clear

这样只是把ERR的错误信息清空
而程序自然没什么反应的

if err then
err.clear
response.write("出错!")
response.end
else
conn.open connstr
end if
你的错误处理太那个了,出错了忽略有什么用当然是把错误说出来,然后想办法,你光把错误清除.可是你下面的代码还是要调用这个CONN,但这个CONN的错误处理是,不管连没连上,都往下走,那么没连上的时候,下面不知道当然还是去用这个连接,自然跑死.