ASP中on error resume Next 的用法!

Wathking 2004-03-23 01:35:14
ASP中on error resume Next 是什么意思怎么去使用它?
...全文
1681 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyvy 2004-03-23
  • 打赏
  • 举报
回复
同意楼上的
hzbigdog 2004-03-23
  • 打赏
  • 举报
回复
err.clear'清空error对象,err.number=0,err.description=""..
on error goto 0'关闭错误捕获,也就是这以后的错误将不会被忽略
通常用法
on error resume next
...
if err.number<>0 then
err.clear
'...错误处理
end if
on error goto 0
hzbigdog 2004-03-23
  • 打赏
  • 举报
回复
on error resume next

使用On Error Goto 0
在ASP 2.0(尽管没有文档记录)和ASP 3.0中,也能使用On Error Goto 0语句恢复缺省的错误处理行为。在运行这个语句后,发生的运行期错误将导致缺省错误处理,在环境链中检查每个嵌套的程序,直到主页面代码。如果没有其他的环境关闭缺省错误处理,网页的执行将停止并显示IIS缺省错误网页。

Clear
清除当前所有的Err对象设置

<%@ LANGUAGE="VBScript" %>
<% '设置buffer为True
Response.Buffer = True
'开始错误处理
On Error Resume Next
%>
<% '错误处理
If Err.Number <> 0 Then
'清除页面
Response.Clear
'显示错误信息给用户
%>
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY BGCOLOR="#C0C0C0">
<FONT FACE="ARIAL">An error occurred in the execution of this ASP page<BR>
Please report the following information to the support desk<P>
<B>Page Error Object</B><BR>
错误 Number: <%= Err.Number %><BR>
错误信息: <%= Err.Description %><BR>
出错文件: <%= Err.Source %><BR>
出错行: <%= Err.Line %><BR>
</FONT>
</BODY>
</HTML>

<%End If%>
  你们上面看到了,我首先设置On Error Resume Next ,这样出现错误就不会影响程序的执行。
hzbigdog 2004-03-23
  • 打赏
  • 举报
回复
<%@ LANGUAGE="VBScript" %>
<% '设置buffer为True
Response.Buffer = True
'开始错误处理
On Error Resume Next

Function GetFileName(ByVal strFile)
If strFile <> "" Then
GetFileName = mid(strFile,InStrRev(strFile, "\")+1)
Else
GetFileName = ""
End If
End function

strFileName = Request.Form("file1")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
response.Write strFileName
objStream.LoadFromFile strFileName
%>
错误 Number: <%= Err.Number %><BR>
错误信息: <%= Err.Description %><BR>
出错文件: <%= Err.Source %><BR>
出错行: <%= Err.Line %><BR>
<%
objStream.SaveToFile Server.MapPath(GetFileName(strFileName)),2
objStream.Close
on error goto 0 '关闭错误陷阱
%>
chang1216 2004-03-23
  • 打赏
  • 举报
回复
看来问题已经解决了!!!!!
yangzixp 2004-03-23
  • 打赏
  • 举报
回复
如果发生错误就继续直接执行出错语句下面的那句
windancer 2004-03-23
  • 打赏
  • 举报
回复
vbs中的错误捕获器,用于捕获内部错误并进行手工处理
但是初学者慎用,千万不要随便拿来掩盖错误,否则以后程序出现莫名其妙的问题,改都没法改

使用完毕要记得关闭错误捕获器on error goto 0
语法如下:
=======================================================
on error resume next '打开错误捕获,以下错误语句将被跳过,
同时内部对象err将纪录最后一个触发的错误信息
on error goto 0 '关闭错误捕获
=======================================================
关于err对象:
if Err.number<>0 then
response.write Err.description
Err.clear '错误被手工处理后要记得清除err对象的内容
response.end
end if
=======================================================
会织网的蚂蚁 2004-03-23
  • 打赏
  • 举报
回复
我不鼓励使用这种方法来调试程序,这样程序会有很多BUG的。这样有的错误就会看不到。这些都是对程序不负责的人所做的。
Wathking 2004-03-23
  • 打赏
  • 举报
回复
在“听,谢谢诸位!
hotdog2002 2004-03-23
  • 打赏
  • 举报
回复
一般在调试时用,正常情况下我不用的
GoodyeahApple 2004-03-23
  • 打赏
  • 举报
回复
同意 y7967(走猫的路,让狗说去吧)
qzriso 2004-03-23
  • 打赏
  • 举报
回复
on error resume next是跳过有错误的那一行,继续执行下面的代码。
配合:
if Err.number<>0 then
response.write Err.description
response.end
end if

可以捕捉到错误
vvfish119 2004-03-23
  • 打赏
  • 举报
回复
顶一下,同意楼上的
i三千 2004-03-23
  • 打赏
  • 举报
回复
On Error Resume Next的意思是如果发生错误就继续直接执行出错语句下面的那句。一般的,如果出错,asp会报告并停止运行,但有时错误并不严重,不会产生严重影响,你可以在可能出错的语句前面加上这句。但是如果错误很严重,会影响到后续语句,就不要使用这个方法了。

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧