51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2875|回复: 11
打印 上一主题 下一主题

[原创] 请教下On Error Resume Next的用法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-4-2 13:41:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
On Error Resume Next
            
                                        'Try to create an instanse of the reporter engine's class
                                        Execute "Set oReporter = New " & sType & "Engine"
               
                                        If Err.Number <> 0 Then
                                                bResult = False
                                                Reporter.ReportEvent micFail, "ReporterManagerClass StartEngine", "Failed to create instance : " & sType
                                        End If

                        On Error GoTo 0

如果包含在On Error Resume Next和On Error GoTo 0之间的代码运行出错了,QTP会如何响应呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

12#
发表于 2008-4-3 16:48:55 | 只看该作者
通过使用reporter对象来实现,具体用法可以查看帮助
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2008-4-3 15:53:50 | 只看该作者
谢谢,明白了
顺便问下,创建文本日志的时候,怎么自动获知脚本运行成功,日志记录pass
脚本运行失败,日志记录fail呢
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2008-4-3 15:40:28 | 只看该作者
HAPPY!!又学到新知识了!
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-4-3 15:08:39 | 只看该作者
你在On Error GoTo 0下面再随便加句会报错的代码,比如再写个Call ErrFunc,然后再分别执行有On Error GoTo 0与没有的区别~~

5楼也说到了,On Error GoTo 0就是用来还原On Error设置的,和On Error Resume Next一起使用,用来限定On Error Resume Next生效的范围
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-4-3 14:55:51 | 只看该作者
我试过了,没发现有什么区别啊,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-4-3 10:32:02 | 只看该作者
LZ可以根据这个小例子自己尝试下加不加On Error GoTo 0有什么区别,也可以看看注释掉ErrFunc中那句会报错的代码之后,程序又是怎样运行的~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2008-4-3 10:21:23 | 只看该作者
写个简单的例子来说明吧,理解起来更容易点~
On Error Resume Next
        Err.Clear
        msgbox "Test is running now."
        Call ErrFunc
        If Err.Number<>0 Then
                msgbox "Error occured indeed"
                msgbox "The error description is: "&vbcrlf&Err.Description
        End If
On Error GoTo 0

Function ErrFunc()
        msgbox "ErrFunc function does work."
        Browser("I'm not in the OR~").Page("xx").WebList("oo").Select 1000 'Error will occur here
        msgbox "My God...No Error occurred?!"
End Function
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-4-3 09:46:43 | 只看该作者
On Error Resume Next 表示出现错误后,继续执行程序
VB中还有 On Error goto aaa
上述2种都叫“错误陷阱”,用于出现错误时进行处理
On Error Resume GoTo 0 表示取消对错误陷阱的设置。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-4-3 08:43:06 | 只看该作者
个人看法,请指正:
On Error Resume Next用来抛出错误。前提是如果有错误的话。
On Error GoTo 0 用来表示继续执行不会因为这里的错误而导致程序停下来。

不知道这样理解对不对。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-4-2 23:46:00 | 只看该作者
能否解释下,如果单用On Error Resume Next是什么效果
加了On Error GoTo 0又是什么效果呢
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2008-4-2 14:28:16 | 只看该作者
尝试一下不就知道了么。。。

有错就会继续执行下一步~~但是要注意,这两者之间一般都用来调用函数的,否则goto 0就没意义了
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-21 13:28 , Processed in 0.087258 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表