vb调试与错误处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第九章 调试与错误处理
本章小结
当错误出现时,调试是解决问题的重要步骤 和手段,而错误捕获和处理则是一种有效地避免程 序出错的预防措施。本章主要讲述了Visual Basic 6.0环境下的调试工具及其功能,一些常用的错误 捕获和处理语句。但是我们不应该把希望都寄托在 程序调试和错误处理上,减少程序错误的根本方法 是养成良好的编程习惯,如良好的变量声明方式、 适当添加注释、进行模块化的编程等。希望读者在 熟练掌握调试工具和方法的同时,加强对编程习惯 的培养,养成良好的编程风格,这样才能使程序开 发取得较高的效率。
第九章 调试与错误处理
• Visual Basic提供了一些用于错误处理的工具,包 括对象、函数和语句等。使用这些工具进行错误 处理的具体操作步骤如下: • (1)记录错误的类型和原因。 • (2)在引起错误的地方停止原定代码的执行, 强制程序转入到用户自定义的“错误处理程序段” 入口。 • (3)在错误处理程序段内,根据具体的错误进 行相应的处理。 • (4)如果问题能够解决,则在问题解决之后返 回原程序处继续往下执行,否则停止错误执行。
第九章 调试与错误处理
第 9章 调试与错误处理
主要内容: Visual Basic 6.0的调试工具 程序运行中的常见错误种类 Visual Basic 6.0中的错误捕获和处理方法
第九章 调试与错误处理
9.1 程 序 调 试
9.1.1 任务一 Visual Basic调试工具
不管设计程序或编写代码时多么仔细,都 不能完全避免错误的发生。有时错误会妨碍程 序顺利启动,有时错误会导致程序停止运行或 “崩溃”,还有些时候程序虽然可能会运行但 无法给出预期的结果。
第九章 调试与错误处理
On Error语句
1.On Error Goto…Resume 结构 该语句的语法结构如下: On Error GoTo <语句标号> 可能出错的语句部分 Exit Sub(Function) 语句标号: 错误处理语句 Resume
第九章 调试与错误处理
2.On Error Goto…Resume Next 结构 该语句的语法结构如下: On Error GoTo <语句标号> 可能出错的语句部分 Exit Sub(Function) 语句标号: 错误处理语句 Resume Next
选择“视图”→“调用堆栈”命令,弹出 “调用堆栈”对话框,如图9-21所示,观察 Factotial函数的递归调用是否存在问题。在“调 用堆栈”对话框中显视了当前还未执行的函数Biblioteka Baidu 过程,这里显示了2个“工程1.Form1.Factotial”, 说明Factotial函数在计算阶乘时的递归调用是正 确的,再观察一下“监视”窗口,Factotial函数 的返回值为1,也是正确的。
第九章 调试与错误处理
Visual Basic 6.0 的调试是在 Visual Basic IDE(集成开发环境)中进行的,它包含若干 个特殊的命令和窗口以帮助用户查找错误。 Visual Basic 6.0提供的调试工具包括断点、临 时表达式、单步运行等。可通过选择“调试” 命令使用这些工具,也可以选择“视 图”→“工具栏”→“调试”命令,弹出如图 9-1所示的“调试”工具栏。
第九章 调试与错误处理
关闭“调用堆栈”窗口,结束程序的运行, 仔细检查Factotial部分的代码,发现“Factorial = x * Factotial(x - 1)”代码部分有错误,将函数 名“Factotial”错误的写成了“Factorial”。虽然 是一个小小的拼写错误,却为我们增加了多少 调试的工作!改正后再次运行程序,输入数字5, 单击“计算阶乘”按钮,这次我们观测程序结 果,发现如图9-23所示的结果是正确的了,至 此,本程序才算是完全正确的程序了。
第九章 调试与错误处理
9.2 错误捕获与处理
虽然Visual Basic为用户提供了强大的调试 工具帮助用户检查并验证应用程序,但是调试 过的程序在实际的运行中,还是会因为运行环 境、资源使用等原因而出现错误。例如,在程 序中需要对光盘文件进行操作,但是光驱中却 没有光盘,这时候就会出现错误,需要对这个 错误进行处理。
第九章 调试与错误处理
图9-18 修改后的-1阶乘计算
图9-19 2的阶乘计算
第九章 调试与错误处理
关闭正在运行的程序,选择“调试”→“添 加监视”命令,弹出“添加监视”对话框,按图 9-20进行设置,单击“确定”按钮。再按【F5】 键运行程序,在输入框重新输入2,单击“计算阶 乘”按钮。程序会在调用Factotial函数处中断。
图9-1 “调试”工具栏
第九章 调试与错误处理
9.1.2 任务二 程序错误与调试示例
• 即使最资深的程序员也会犯错,因此,知道如 何对应用程序进行调试并找出错误是编程的重 要组成部分。但在学习有关调试过程的知识之 前,了解错误类型对我们找出并修复错误是很 有帮助的。 • 编程中可能出现的错误分为三类:编译错误、 运行时错误和逻辑错误。
第九章 调试与错误处理
完成程序的编写后开始调试。首先,按 【F5】键运行程序,在文本框中输入数字0, 单击“计算阶乘”按钮,得到如图9-11所示的 结果。0的阶乘为1,这个结果是正确的。然后 我们测试一下数字1的阶乘,得到如图9-12所 示的结果,也是正确的。
第九章 调试与错误处理
图9-11 0的阶乘
第九章 调试与错误处理
(4)单击工具栏中的Text控件,并在Form1窗体 中绘制一个文本框,将其text属性设置为空。 (5)单击工具栏中的CommandButton按钮控件, 在窗体中绘制一个控件,将其Caption属性设置为 “计算阶乘”。 (6)单击工具栏中的Frame控件,并将其Caption 属性设置为“观测信息”。 (7)最后单击Label控件,将两个标签放到 Frame1中,将其Caption属性全部设置为空。
图9-12 1的阶乘
第九章 调试与错误处理
打开代码窗口,在调用Check函数的地方 设置断点,以便程序在检查参数之前中断运行, 这样可以查看程序状态和中间结果。设置断点 的具体操作步骤如下。 (1)在代码窗口中,把光标移动到要设置 断点的那一行。
(2)选择“调试”→“切换断点”命令或 按【F9】键。这时所设断点处的语句会出现一 个红色亮条
第九章 调试与错误处理
图9-22 中断
图9-23 正确结果
第九章 调试与错误处理
图9-20 “添加监视”对话框
图9-21 “调用堆栈”对话框
第九章 调试与错误处理
在“调用堆栈”对话框中单击“关闭”按钮, 关闭“调用堆栈”对话框,然后按【F5】键继续 运行,这时候Factotial函数返回值改变,程序进入 中断方式(见图9-22)。再打开“调用堆栈”窗口, Factotial函数的返回值为0,而实际应当为2,显然 这时候发生了错误。
第九章 调试与错误处理
• 按【F5】键继续运行程序,在文本框中输入-1,单 击“计算阶乘”按钮,这时程序在断点处中断。然 后我们进行单步执行,以便跟踪检查这部分代码的 运行情况。
• 选择“调试”→“逐语句”命令或按【F8】键单步 执行程序。此时程序会转到Check函数中。每按一次 【F8】键,程序就会往下执行一条语句。当程序执 行到if语句(见图9-16)时,选择“视图”→“立即 窗口”命令,弹出立即窗口。在立即窗口中输入“? x”,表示需要观测Check函数中的变量x的值。此时 立即窗口的使用效果如图9-17所示。这时候表示x接 收到的值是-1。这说明程序接收到的参数是正确的, 那么错误不在这里,可能在后面。
第九章 调试与错误处理
9.3 程序调试案例
在Visual Basic 6.0中有两项调试技术,即 设置“断点”和“单步执行”代码,可以帮助 用户逐行检查代码以找出错误。用户可以在 “代码编辑器”中为任何可执行代码行设置断 点。当程序运行到该代码行时,断点会强制程 序停止并进入中断模式。此时便可及时获取我 们想要了解的有关程序在该时间点的状态的任 何信息。然后,可以检查任何变量的值,在 “即时”窗口中测试表达式,或者使用“编辑 并继续”功能修改代码。
第九章 调试与错误处理
图9-16 单步执行IF语句
图9-17 立即窗口
第九章 调试与错误处理
继续按【F8】键单步执行。此时程序执行到Else语 句处。这时发现程序出现了逻辑错误,很显然当用户输 入的数字为-1时不应当执行Else语句的内容,而是应当 执行“Label2.Caption=”输入的数字必须介于0-20之 间“”语句,提示用户输入范围有错。由此我们判断是 if语句的条件设置有问题。仔细检查if语句的条件设置, 我们发现“x > 20 And x < 0”这是一对相互矛盾的条件, 应当修改为“x > 20 Or x < 0”。修改完程序后我们再次 运行程序,程序运行结果如图9-18所示。表明参数检查 函数Check已经能正常工作了。 关闭正在运行的程序并清除所有断点,然后再次启 动程序的运行。在程序运行界面中的文本框中输入2, 单击“计算阶乘”按钮,观测程序运行的结果,我们发 现此时的结果是不正确的(如图9-19所示)。这说明阶 乘计算函数中也存在逻辑错误。
第九章 调试与错误处理
下面以一个实例来看看这些调试工具的使用方法。 新建一个工程,该程序的功能是,用户在文本框中 输入一个介于0~20之间的数字,程序能计算这个数的 阶乘并返回结果。
按下面的步骤建立这个程序: (1)打开Microsoft Visual Basic 6.0中文版。 (2)在弹出的对话框中,选择“标准EXE”选项。 (3)单击工具栏中的Label标签控件,在Form1窗体 上绘制一个标签,并将其Caption属性改为“请输入 一个整数(0-20之间)”。
相关文档
最新文档