编程学习biancheng.45soft.com 本站提供了各种在线教程和资料,供大家学习与参考.
编程学习
当前位置: 主页 > VB6 > 对象和程序设计 > VB6 对象和程序设计 编写错误处理程序

VB6 对象和程序设计 编写错误处理程序

VB中当错误发生时,通过VB对错误对象Err各种属性的设置的值来编制错误处理程序。使用错误处理程序可分三步骤:放置ON ERR语句;编制错处理程序,对所有可能出现的错误作出响应;退出错误处理程序。



(1)放置ON ERR语句

格式:On Err Goto 语句标号

位置:在可能出现错误的语句之前。

语句标号为出错误处理程序的起点语句的语句标号。



(2)编制错处理程序,对所有肯能出现的错误作出响应

借助Err对象属性和Select case 或If… Then… 语句来编制错误处理程序。错误处理程序如执行到Exit Sub 或 Exit Function 或On Err Goto 0或 End语句则停止错误程序的执行。


请注意:一个工程或一个过程中不只有一个错误处理程序。而错误处理程序只能是一个过程或函数中的一个片断,因此,错误处理的第一条语句一定要放置一个语句标号,而这个语句的前一条语句应当是Exit Sub 或Exit Function,它实际上起到实际过程或函数程序段和依附于这个过程或函数的错误处理程序的分割作用同时杜绝错误处理程序的无故执行。


带有错误处理程序的过程格式:

Private Sub 过程名()

语句序列1

On Err Goto 标号L

语句序列2

Exit Sub

标号L

错误处理程序

End Sub



(3)退出错误处理程序

如果执行了错误处理程序后程序返回到什么地方去了?一般情况下可参考下表书写:

语句 功能
Resum [0] 回到产生错误的语句恢复执行,可用它改正错误后重复操作
Resum Next 紧接出错语句之后的那条语句处恢复程序执行
Resum Line 在Line指定的标号处恢复执行,Line必须与错误处理程序在同一过程中。
Err.raise
Number:=number
触发运行时错误。在错误处理程序内执行这一语句时,
VB搜索另一个错误处理程序的调用列表。(调用列表是为到达当前执行点而调用的过程链。)

Private Sub main()
    Dim a%, b%, c%, delt!, fh As Boolean
    a = InputBox("输入一元二次方程二次项系数", , 2, 1000, 200)
    b = InputBox("输入一元二次方程一次项系数", , 4, 1000, 2000)
    c = InputBox("输入一元二次方程常数项", , 9, 1000, 2000)
    delt = b * b - 4 * a * c
    Form1.Show()
    Form1.Print("del =  " & delt)
    On Error GoTo hand
    delt = Sqr(delt)
    If fh Then
    Form1.Print delt & " i    "; "-" & delt & "i"
    Else
   Form1.Print delt; "-" & delt
    End If
    Exit Sub
hand:
    Form1.Print("Err.Number   " & Err.Number) '错误号
    Form1.Print("Err.Description   " & Err.Description) '错误描述
    Form1.Print("Err.Helpfile   " & Err.HelpFile) '该错误相应的帮助文件
    Form1.Print("Err.Helpcontext   " & Err.HelpContext) '该错误帮助说明的主题号
    Form1.Print("Err.Source   " & Err.Source) '错误来源
    Err.Clear() '清除Err对象的属性
    If delt < 0 Then delt = Abs(delt) : fh = True Else fh = False
    Resume '返回到出错语句处继续执行
End Sub



编程学习 VB6 对象和程序设计 编写错误处理程序 转载请保留此行.谢谢.

VB6