首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UFT/QTP中的错误处理

问UFT/QTP中的错误处理
EN

Stack Overflow用户
提问于 2017-06-23 20:41:52
回答 3查看 5.3K关注 0票数 0

我有一个框架,其中的方法是在来自函数库的操作中调用的。我正在尝试做错误处理,以避免在函数库中编写的代码抛出错误。

下面是我的操作代码:

代码语言:javascript
复制
on error resume next
call TestMe()
if err.number Then: msgbox err.description
on error goto 0

下面是函数库中的函数:

代码语言:javascript
复制
Function TestMe()
   x = 1/0
End Function

当我执行测试时,on error resume next似乎不能工作,因为我在函数TestMe()中得到了一个被零除的错误弹出窗口。

如何在不移动代码的情况下处理这些错误?

EN

回答 3

Stack Overflow用户

发布于 2017-07-05 17:09:51

令人惊讶的是,由于一直在使用QTP/UFT,从来没有遇到过这样的情况。也很耐人寻味。我发现(或者乍一看似乎是这样),on error resume next的范围仅限于它的级别(库/操作),并且不能带到任何一个级别。

你可能想试试类似这样的东西:

操作代码:

代码语言:javascript
复制
Call Test3()

函数库:

代码语言:javascript
复制
Function Test1()
      x = 1/0
End Function

Function Test2()
   Call Test1()
   MsgBox "Test2"
End Function

Function Test3()
   On Error Resume next
   Call Test2()
   MsgBox err.Description
End Function

使用此语句的执行将继续,直到找到处理程序。所以你可以在你认为合适的地方设置一个条件。

另一种选择是使用一个标志(可以是一个环境变量),比如

代码语言:javascript
复制
Environment("Flag") = True

其条件可以直接在动作代码中检查

希望这能有所帮助。我还是会努力挖掘出更多关于这方面的信息

票数 0
EN

Stack Overflow用户

发布于 2017-07-20 00:18:47

请查看下面的文章。这详细解释了同样的问题。

https://sumeetkushwah.com/2014/08/12/implementing-try-catch-functionality-in-qtpuft/

票数 0
EN

Stack Overflow用户

发布于 2018-09-07 13:28:14

代码语言:javascript
复制
on error resume next

call TestMe()

on error goto 0

if err.number Then: msgbox err.description

Function TestMe()

   x = 1/0

End Function
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44721741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档