On Error Resume Next是什么意思啊????

wfwclyms 2005-02-25 02:29:02
如题1!!
...全文
21050 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lstup 2005-02-25
  • 打赏
  • 举报
回复
容错,不叼它,继续执行代码
wensyCool 2005-02-25
  • 打赏
  • 举报
回复
忽略错误继续执行下面的代码.如果是if then.....end if,则执行end if以后的部分;如果是for ...next,则执行next以后的语句.如果是........


写程序时最好不要加这一句,不然出错了却不知道错在哪里,弄不好还把网页搞死。
程序发布以后加上这一句倒是满重要的。

如何解决因使用On Error Resume Next导致被掩饰的错误引起结果不正确的问题?

我在程序首端添加了On Error Resume Next ,以更好地处理执行时引起的错误,但在数据库访问中引出了麻烦,因为我在一个查询操作中出错了,从运行过程来看就是被掩盖的错误导致的。请问如何解决这个难题?


确实,因为使用了On Error Resume Next,即使前一步的操作(象你的查询操作)出了错,以后操作仍会被继续执行,最终导致完全错误的结果。我们的解决办法就是先检查一下错误再继续执行,具体代码见下:
If Err.Number = 0 And objConnection.Errors.Count = 0 Then
' 如果没有错误,则继续执行数据库查询
Set rstResults = dbData.Execute(txtSql)
End If


顺便说一句,On Error Resume Next 要添加到你声明语言后的第一行,而不是其它位置。
calmer18 2005-02-25
  • 打赏
  • 举报
回复
On Error 语句
请参阅
Err 对象 | Exit 语句
要求
版本 1
启用或禁用错误处理程序。

On Error Resume Next
On Error GoTo 0
说明
如果在您的代码中未使用 On Error Resume Next 语句, 所发生的运行时错误将显示错误信息,同时,代码的执行也随之终止。但是运行代码的主机决定了具体操作。主机有时可有选择地处理各类错误。在有些情况下,它可以在出错的地方激活脚本调试器。而在另一些情况下,由于主机无法通知用户,因此对所发生的错误没有明确说明。至于如何处理错误则完全取决于主机的功能。

在任意一个特殊过程中,只要在调用堆栈的地方启用错误处理程序,所发生的错误一般不会是致命性的。如果在一个过程中没有启用局部错误处理程序,当发生错误时,控制可通过堆栈调用转移,直到找到一个具有错误处理程序的过程,并在出错的地方处理错误。如果在调用堆栈的过程中没有找到错误处理程序,则在出错的地方显示错误信息,同时终止代码执行,或者通过主机来正确处理错误。

On Error Resume Next 会使程序按照产生错误的语句之后的语句继续执行,或是按照最近一次所调用的过程(该过程含有 On Error Resume Next 语句)中的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,On Error Resume Next 语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。

当调用另一过程时,禁止使用On Error Resume Next 语句,因此如果您想在例程中嵌入错误处理程序,则需要在每次调用例程时都应执行 On Error Resume Next 语句。当退出一个过程时,错误处理程序可恢复到它在进入所退出过程之前的状态。

如果您已启用 On Error Resume Next 错误处理程序,则可使用 On Error GoTo 0禁用错误处理程序。

下面例子举例说明如何使用 On Error Resume Next 语句:

On Error Resume Next
Err.Raise 6 ' 引发溢出错误。
MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description)
Err.Clear '清除该错误。
joker24 2005-02-25
  • 打赏
  • 举报
回复
最好后面加上 On Error Goto 0
colaworm 2005-02-25
  • 打赏
  • 举报
回复
遇到错误继续执行下面的语句
一般用于查找错误(个人认为)
具体为:
On Error Resume Next

'要执行的语句...
If err.Number Then '如果上面的语句有错误就执行If里面的
response.write err.description '显示错误信息
response.end
end if
xuwei265135 2005-02-25
  • 打赏
  • 举报
回复
从字面上看,我是这样理解的,遇到错误继续执行下面的语句。
yizhixiaozhu 2005-02-25
  • 打赏
  • 举报
回复
On Error Resume Next

看这几个单词就知道了啊

碰到错误的话,就继续执行,不理他 ^_^
阿_浩 2005-02-25
  • 打赏
  • 举报
回复
出现错误时跳开语句
wfwclyms 2005-02-25
  • 打赏
  • 举报
回复
高手快来.

28,404

社区成员

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

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