当前位置:文档之家› 程序错误处理方法

程序错误处理方法

3
另一种是运行期间发生的错误,这种错误可以利用VB的错误处 理程序捕获它,对其进行适当的处理,并使程序继续执行,这样就 能够使开发的软件具有更强的适应性,这类错误必须通过反复运行 程序才能发现,具有一定的隐蔽性,需要用户提供及时的反馈信息, 然后对程序进行修改,不断对程序进行完善。
4
7.1 VB的编译选项
7.2 Err对象
9
7.2 Err对象
属性或方法 Number Source
Description
helpfile
helpcontext
Clear Raise
属性类型 Long String String
String
String
说明
范围为0~65535,用于保存错误号,用户自定义错误号为vbObjectError + n。
11
7.3 错ห้องสมุดไป่ตู้的捕获与退出
7.3 错误的捕获与退出
12
7.3 错误的捕获与退出
Err函数返回最近一次运行出现错误所对应的消息。如果没有发生运行错误, 或者err.number的属性为0,则Err的description属性返回一个长度为零的字符串("")。
(1) 捕获错误语句 (On Error) 使用 On Error 语句可以捕获错误,其语法格式如下: On Error 标号 通常,该语句放置在过程的开始位置。在程序运行过程中,当该语句后面的代 码出错时,则程序就会自动跳转到标号所指定的程序行去运行,标号所指示的程 序行通常为错误处理程序段的开始行。On Error常用的几种使用形式如下所示: 1) On Error GoTo line 转到line执行错误处理语句(line 参数可以是任何行标签或行号)
指明错误产生的对象或应用程序的名称。当设置对象的这一属性时,要使用窗 体 project.class。如果没有指定source,则使用当前Visual Basic工程的程序设计 ID。
用于记录描述错误的字符串信息。如果没有指定,则检查 Number 的值。如果 可以将错误映射成 Visual Basic 运行时错误代码,则将Err函数返回的字符串作 为Description 使用。如果没有与 Number 对应的 Visual Basic 错误,则设置为 应用程序定义的错误或对象定义的错误。
15
7.3 错误的捕获与退出
Private Sub Form_Load() On Error Resume Next Dim i As Integer i = 10 / 0 MsgBox ("跳至下一句执行") On Error GoTo 0 On Error GoTo ErrLine i = 10 / 0 On Error GoTo 0 i = 10 / 0 MsgBox ("该语句无法执行") ErrLine: MsgBox ("跳至标号执行") Resume Next End Sub
13
7.3 错误的捕获与退出
2) On Error Resume Next 忽略所有错误,从发生错误的语句的下一语句继续运行。 3) On Error GoTo 0 禁止当前过程中任何已启动的错误处理程序。
On Error GoTo ErrLine '以后出错时转移至 ErrLine ... ErrLine: '标号 ... Resume '返回语句
用于清除Err对象的当前属性值
产生指定错误号的错误,用于调试错误处理程序段 10
7.2 Err对象
Private Sub Form_Load() On Error Resume Next Err.Raise 6 '故意产生6号错误(溢出) MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) '显示错误信息 Err.Clear '清除设置的错误号 MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) '显示错误信息 End Sub
第四章 串口调试软件的开发
第七节 程序错误处理方法
1
7.1 VB的编译选项 7.2 Err对象
7.3 错误的捕获与退出
2
在软件开发过程中,无论设计如何周密,都无法避免代码出现 错误。从软件工程分析角度考虑,软件已发现的错误与软件本身存 在的错误成正比,这些错误基本上可以分为两种类型:一种是编译 错误,编译错误是指VB编译器无法对代码进行编译时所产生的错误, 大多数编译错误都是句法错误造成的,如果一个过程中包含了编译 错误,VB将不执行该过程,而且,作为软件产品,开发者也不可能 向用户提供带有编译错误的应用程序,因此,这类错误在代码编写 过程中就能被发现和处理。
14
7.3 错误的捕获与退出
Private Sub Form_Load() On Error Resume Next Dim i As Integer i = 10 / 0 MsgBox ("跳至下一句执行") On Error GoTo 0 On Error GoTo ErrLine i = 10 / 0 On Error GoTo 0 i = 10 / 0 MsgBox ("该语句无法执行") ErrLine: MsgBox ("跳至标号执行") Resume Next End Sub
7.1VB的编译选项
5
7.1 VB的编译选项
VB中有两个设置项在很大程度上影响创建代码的能力。一个设置项 是请求时编译(Compile On Demand),另一个设置项是后台编译 (Background Compile)。
6
7.1 VB的编译选项
7
7.1 VB的编译选项
8
7.2 Err对象
与错误相关的VB 帮助文件所在的驱动器、路径和文件名,Microsoft Windows 帮助文件的完整限定的路径,在帮助文件中可以找到有关错误的帮助信息。如 果没有指定,则 Visual Basic 会使用 Visual Basic 帮助文件的完整限定的驱动器、 路径和文件名。
识别helpfile内的标题的上下文 ID,而 helpfile 提供有助于了解错误的描述。如 果省略,则使用处理有关错误的 Visual Basic 帮助文件的上下文 ID,该 ID 与 Number 属性对应。
相关主题