我叫陈永达,欢迎来到我的51testing空间! 才开始使用,想把关于软件测试的一些资料和心得保存于此。 欢迎大家多来参观,多提宝贵意见!

【QTP】On Error 的使用方法

上一篇 / 下一篇  2012-10-26 16:34:49 / 个人分类:QTP

On Error的作用是启动一个错误处理程序并指定该子程序在一个过程中的位置;也可用来禁止一个错误处理程序。


On Error Resume Next       '开启错误处理,不弹出错误。

On Error Goto 0                 '关闭错误处理,弹出错误。

上一个例子

Call myTest()
Sub myTest()
      Dim a,  b,  c
      a=78
      b=0
      On Error Resume Next
      c = a / b
      If Err.number <> 0  Then
            print "出错了!Err.number = " & Err.number 
      End If
End Sub

不使用On Error的情况下,执行脚本会出现如下报错:

使用了On Error后,便不会出现上图的错误提示来中断脚本运行,而是根据脚本打印出log

出错了! Err.number = 11

在脚本的编写中,为了防止脚本的中断,会使用这样的语句。

如之前文章中ReadExcel函数中的一样。


'Err对象方法】
Clear:清空err对象中的所有属性
           
例:Err.Clear

Raise:定义一个运行时错误
            语法:Err.Raise(number,source,description,helpfile,helpcontext)
             number:用于表示错误号
             source
:表示产生错误的对象或应用程序的名称
             description
:关于错误的描述信息
             helpfile
help文件的有效路径
             helpcontext
help文件的主题
             
例:Err.Raise vbobjecterror+1,"prjproject.clsclass","custom error","C:\help.txt",1

'Err对象属性】
Number(errid)
:返回或设置一个表示错误的数值
             Errid
:可选。包含errorid
            例:a = Err.Number                           '返回errorid
                    Err.Number = 2                           '
设置errorid

Description(string):返回或设置error的描述
             string
:可选。包含error的描述星系
            例:a = err.description                        '返回error描述信息
                    Err.description = "
类型不匹配"      '设置error的描述信息

Helpcontext(conid):返回或设置指定帮助信息的主题
             conid
:可选。包含表示帮助文件的帮助主题
             例:a = err.Helpcontext                       '返回error帮助主题
                    Err.Helpcontext = "
类型不匹配"      '设置error帮助主题

Helpfile(Filepath):返回或设置help文件的地址
             Filepath
:可选。包含help文件的有效地址
             例:a = Err.Helpfile                           '返回error help地址
                    Err.Helpfile = "C:\help"              '
设置error help地址

Source(string):返回或设置报告错误的对象(或者应用程序的名称)
             String
:可选。包含对象名或者应用程序名称

             
例:a = Err.Source                           '返回产生error的对象或应用程序名称
                    Err.Source = "box"                    '
设置产生error的对象或应用程序名称


'Err.number错误代码】
错误代码  信息     
  5  
无效的过程调用或参数     
  6  
溢出     
  7  
内存不够     
  9  
下标越界     
  10  
数组长度固定或临时锁定     
  11  
被零除     
  13  
类型不匹配     
  14  
字符串空间溢出     
  28  
堆栈空间溢出     
  35   Sub  
   Function  未定义     
  48  
加载   DLL  时出错     
  51  
内部错误     
  53  
文件未找到     
  57  
设备   I/O  错误     
  58  
文件已存在     
  61  
磁盘已满     
  67  
文件太多     
  70  
没有权限     
  75  
路径/文件访问错误     
  76  
路径未找到     
  91  
未设置对象变量或   With  块变量     
  92  
未初始化   For  循环     
  94  
无效的   Null  使用     
  322  
无法创建必要的临时文件     
  424  
要求使用对象     
  429   ActiveX  
部件无法创建对象     
  430  
类不支持   Automation     
  432   Automation  
操作过程中,未找到文件名或类名     
  438  
对象不支持此属性或方法     
  440   Automation  
错误     
  445  
对象不支持此操作     
  446  
对象不支持命名的参数     
  447  
对象不支持当前区域设置     
  448  
未找到命名参数     
  449  
此参数必选     
  450  
参数个数错误或无效的属性赋值     
  451  
对象不是集合     
  453  
未找到指定的   DLL  函数     
  455  
代码资源锁定错误     
  457  
此键已和集合中的元素关联     
  458   VBScript.  
中不支持使用   Automation  类型的变量     
  500  
变量未定义     
  501  
非法赋值     
  502  
用此对象进行   Script.  编程会出错     
  503  
对象不能安全初始化     
  1001  
内存不够     
  1002  
语法错误     
  1003  
缺少“:”     
  1004  
缺少“;”     
  1005  
缺少“(”     
  1006  
缺少“)”     
  1007  
缺少“]”     
  1008  
缺少“{”     
  1009  
缺少“}”     
  1010  
缺少标识符     
  1011  
缺少“=”     
  1012  
缺少“If”     
  1013  
缺少“To”     
  1014  
缺少“End”     
  1015  
缺少“Function”     
  1016  
缺少“Sub”     
  1017  
缺少“Then”     
  1018  
缺少“Wend”     
  1019  
缺少“Loop”     
  1020  
缺少“Next”     
  1021  
缺少“Case”     
  1022  
缺少“Select”     
  1023  
缺少表达式     
  1024  
缺少语句     
  1025  
语句未结束     
  1026  
缺少整型常数     
  1027  
缺少“While”“Until”     
  1028  
缺少“While”“Until”或语句结尾     
  1029  
局部变量或参数过多     
  1030  
标识符过长     
  1031  
无效的编号     
  1032  
无效的字符     
  1033  
未终止字符串常数     
  1034  
未终止注释     
  1035  
嵌套的注释     
  1037   “Me”
关键字使用无效     
  1038   “Loop”
缺少“Do”     
  1039  
无效的“Exit”语句     
  1040  
无效的“For”循环控制变量     
  1041  
名称被重定义     
  1042  
必须是行中的第一个语句     
  1043  
无法为非   ByVal  参数赋值     
  1044  
调用   Sub  时不能使用括号     
  1045  
缺少字母常数     
  1046  
缺少“In”     
  32766   True     
  32767   False     
  32811  
未找到元素 



TAG: 软件测试 error Error on On QTP 陈永达

zhconnie的个人空间 引用 删除 zhconnie   /   2012-11-09 16:59:09
  多多分享啊
loveok_56的个人空间 引用 删除 loveok_56   /   2012-11-01 17:30:57
引用 删除 416624903   /   2012-10-31 10:59:15
5
xuewanju的个人空间 引用 删除 xuewanju   /   2012-10-29 14:18:57
学习了!
 

评分:0

我来说两句

Open Toolbar