在QTP中使用 On Error GoTo line 为什么会提示语法错误?

脚本如下:PrivateSubCommand1_Click()Dimi,j,kOnErrorGoToErrHandlei=100j=0k=i/jExitsubErrHan... 脚本如下:
Private Sub Command1_Click()
Dim i , j ,k
On Error GoTo ErrHandle
i = 100
j = 0
k = i / j
Exit sub

ErrHandle:
MsgBox "除数不能为0 "
End Sub

运行时,会提示“On Error GoTo ErrHandle ” 语法错误
MSDN中对 On Error GoTo line 有如下介绍:
该语句启用从必选参数 line 指定的行开始的错误处理例程。参数 line 可以是任意的行标签或行号。如果发生了运行时错误,控制将跳转至指定行,以激活错误处理程序。指定的行必须和 On Error 语句处在同一个过程中,否则会产生编译时错误。

对于“行标签”、“行号”,我不太理解是什么意思,所以才写了这段代码。
该段代码旨在了解 On Error GoTo line 的使用方法,不为如何更好得实现这段代码,所以请各位有“识”之士能够针对 On Error GoTo line 的使用来解答。谢谢!
展开
 我来答
百度网友a3aaf117b
推荐于2016-11-14 · TA获得超过165个赞
知道答主
回答量:53
采纳率:0%
帮助的人:105万
展开全部
你这种用法是不符合VBScript规定的,QTP里面也不能这么使用。
关于错误处理,只能使用
On Error Resume Next - 开启错误处理,不弹出错误。
On Error GoTo 0 - 关闭错误处理,弹出错误。
按照你的需求,你的代码应该改成:
Sub Command1_Click()
Dim i , j ,k
On Error Resume Next
i = 100
j = 100
k = i / j

If Err.number>0 then
MsgBox "除数不能为0 "
End If
End Sub
就可以了。

如果你用MSDN来解释这个问题,你就用VS.net,不要用QTP。QTP的编辑器引擎是VBScripts,我已经说了,不是VS.net。VBScripts的规则里面很早就已经删除了Goto语句,所以你没有办法通过编译。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
doppelganger99
2011-04-27 · 超过32用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:70.4万
展开全部
楼上正解...回答的非常好...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式