中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【已解决】VBS中On error go to 0语句的用法!
作者:
标题: 【已解决】VBS中On error go to 0语句的用法! 上一主题 | 下一主题
churui007
新手上路





积分 12
发帖 12
注册 2010-8-3
状态 离线
『楼 主』:  【已解决】VBS中On error go to 0语句的用法!

找了很长时间资料,没找到啊,逼不得已得问高手了。
到底插在VBS中的哪里?出错语句前还是后,或者其他?
求教了!
高手顺便看看 [求助]网页表单密码破解的脚本编写问题
http://www.cn-dos.net/forum/viewthread.php?tid=52072&fpage=1

[ Last edited by churui007 on 2010-8-7 at 12:56 ]

2010-8-7 11:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

Visual Basic Scripting Edition 语言参考

--------------------------------------------------------------------------------

On Error 语句
启用或禁用错误处理程序。

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    '清除错误。
要求
版本 1

请参阅
Err 对象 | Exit 语句


--------------------------------------------------------------------------------
© 2000 Microsoft Corporation 版权所有。保留所有权利。使用规定。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-8-7 11:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
churui007
新手上路





积分 12
发帖 12
注册 2010-8-3
状态 离线
『第 3 楼』:  谢谢slore!

我这个我找见了也看了,没看明白。VBS知识很少,汗。
大概信息是:
On Error Resume Next 是错误处理程序,要想使用On Error GoTo 0必须先使用On Error Resume Next
但是到底该怎么用,举个稍微长点也简单点的例子好么?那个示例没看明白。

2010-8-7 12:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 4 楼』:  

默认出错就报错然后结束了。

如果你用了On Error Resume Next,那么出错了不结束继续,懂?

此时如果下面有个地方出错了继续可能会悲剧,这个时候
On Error GoTo 0

如果没错,OK,如果错了就和没有On Error Resume Next一样,报错结束。

On Error GoTo 0的作用就是取消On Error Resume Next,难理解么?

不要看到goto就认为是跳转,以为它有啥高级功能。。。。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-8-7 12:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
churui007
新手上路





积分 12
发帖 12
注册 2010-8-3
状态 离线
『第 5 楼』:  

汗,这个,理解错误 谢谢slore

2010-8-7 12:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: