51Testing软件测试论坛

标题: 求助:robot 会在什么情况下才掷出error?? [打印本页]

作者: Ljm_1000    时间: 2004-9-24 17:31
标题: 求助:robot 会在什么情况下才掷出error??
robot 代码如下,可是执行结果只返回3。请问各位大虾这是为什么?
robot 会在什么情况下才掷出error
谢谢各位了

Sub Main
    Dim Result As Integer

    'Initially Recorded: 2004-9-24  16:52:43
    'Script Name: temp
   
    result =91
    goto r0
   
done0:
    msgbox "0"
    exit sub  
     
r0:   
    on error goto done0
   
'桌面上鼠标右健选粘贴
    Window SetContext, "Caption=Program Manager", ""
    ListView Right_Click, "ObjectIndex=1", "Coords=222,273"
    PopupMenuSelect "粘贴(P)"
   
    on error goto done1
   
    goto done2
   
done1:
    msgbox "1"
    exit sub
   
done2:   
    msgbox "2"
    exit sub
   
     
End Sub
作者: blinkday    时间: 2004-9-26 00:52
没有出现异常,当然就执行done2咯
Sub main
    dim s as String
    dim i as Integer
    s=Inputbox("Input the number:")
    on error goto a
    i=CInt(s)
    msgbox "OK"
    exit sub
a:
    msgbox "NO"
    exit sub
End Sub
一个简单的例子,如果输入数字,则显示OK,如果输入字符则显示NO。
此类的问题可以发到[Rational Robot]论坛中。
作者: songfun    时间: 2004-9-26 01:02
to 楼上的:

其实在 a那段 没有必要 exit sub了,因为下面就是end sub了。

to 楼主:

你的代码有点怪怪的,VB类 的语言(这里暂且称作语言吧) 错误捕获 的机制和C++/java类似的,只不过语法不同。
on error goto 下面的语句相当于 try{}里面的内容,goto 的标号就是做 catch的动作。但是throw的部分是系统来判断的。
你的语句用了过多的goto,不值得提倡。
另外,如果得不到结果,可以试一下单步调试
作者: songfun    时间: 2004-9-26 01:06
补充一下,在
on error goto ErrorOccured
.....  
ErrorOccured :

中间省略号的部分就是相当于try{....}中的部分了。
作者: blinkday    时间: 2004-9-26 01:26
多谢版主提醒^_^
作者: Ljm_1000    时间: 2004-9-27 12:07
标题: 多谢了
to songfun :
我是新手,以前没有写过这东西,只好先拿着这个语法往上面套了。。。。。

多谢各位大虾,以后还得多多向各位学习

[ Last edited by Ljm_1000 on 2004-9-27 at 12:11 ]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2