vb调试与错误处理课件.ppt

上传人(卖家):晟晟文业 文档编号:4449251 上传时间:2022-12-10 格式:PPT 页数:24 大小:212.63KB
下载 相关 举报
vb调试与错误处理课件.ppt_第1页
第1页 / 共24页
vb调试与错误处理课件.ppt_第2页
第2页 / 共24页
vb调试与错误处理课件.ppt_第3页
第3页 / 共24页
vb调试与错误处理课件.ppt_第4页
第4页 / 共24页
vb调试与错误处理课件.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、第第 9章章 调试与错误处理调试与错误处理主要内容:主要内容:Visual Basic 6.0的调试工具的调试工具程序运行中的常见错误种类程序运行中的常见错误种类Visual Basic 6.0中的错误捕获和处理方法中的错误捕获和处理方法9.1 程程 序序 调调 试试9.1.1 任务一任务一 Visual Basic调试工具调试工具 不管设计程序或编写代码时多么仔细,都不管设计程序或编写代码时多么仔细,都不能完全避免错误的发生。有时错误会妨碍程不能完全避免错误的发生。有时错误会妨碍程序顺利启动,有时错误会导致程序停止运行或序顺利启动,有时错误会导致程序停止运行或“崩溃崩溃”,还有些时候程序虽然

2、可能会运行但,还有些时候程序虽然可能会运行但无法给出预期的结果。无法给出预期的结果。Visual Basic 6.0 的调试是在的调试是在 Visual Basic IDE(集成开发环境)中进行的,它包含若干(集成开发环境)中进行的,它包含若干个特殊的命令和窗口以帮助用户查找错误。个特殊的命令和窗口以帮助用户查找错误。Visual Basic 6.0提供的调试工具包括断点、临提供的调试工具包括断点、临时表达式、单步运行等。可通过选择时表达式、单步运行等。可通过选择“调试调试”命令使用这些工具,也可以选择命令使用这些工具,也可以选择“视视图图”“工具栏工具栏”“调试调试”命令,弹出如图命令,弹出

3、如图9-1所示的所示的“调试调试”工具栏。工具栏。图图9-1“调试调试”工具栏工具栏9.1.2 任务二任务二 程序错误与调试示例程序错误与调试示例 即使最资深的程序员也会犯错,因此,知道如即使最资深的程序员也会犯错,因此,知道如何对应用程序进行调试并找出错误是编程的重何对应用程序进行调试并找出错误是编程的重要组成部分。但在学习有关调试过程的知识之要组成部分。但在学习有关调试过程的知识之前,了解错误类型对我们找出并修复错误是很前,了解错误类型对我们找出并修复错误是很有帮助的。有帮助的。编程中可能出现的错误分为三类:编译错误、编程中可能出现的错误分为三类:编译错误、运行时错误和逻辑错误。运行时错误

4、和逻辑错误。9.2 错误捕获与处理错误捕获与处理 虽然虽然Visual Basic为用户提供了强大的调试为用户提供了强大的调试工具帮助用户检查并验证应用程序,但是调试工具帮助用户检查并验证应用程序,但是调试过的程序在实际的运行中,还是会因为运行环过的程序在实际的运行中,还是会因为运行环境、资源使用等原因而出现错误。例如,在程境、资源使用等原因而出现错误。例如,在程序中需要对光盘文件进行操作,但是光驱中却序中需要对光盘文件进行操作,但是光驱中却没有光盘,这时候就会出现错误,需要对这个没有光盘,这时候就会出现错误,需要对这个错误进行处理。错误进行处理。Visual Basic提供了一些用于错误处理

5、的工具,包提供了一些用于错误处理的工具,包括对象、函数和语句等。使用这些工具进行错误括对象、函数和语句等。使用这些工具进行错误处理的具体操作步骤如下:处理的具体操作步骤如下:(1)记录错误的类型和原因。)记录错误的类型和原因。(2)在引起错误的地方停止原定代码的执行,)在引起错误的地方停止原定代码的执行,强制程序转入到用户自定义的强制程序转入到用户自定义的“错误处理程序段错误处理程序段”入口。入口。(3)在错误处理程序段内,根据具体的错误进)在错误处理程序段内,根据具体的错误进行相应的处理。行相应的处理。(4)如果问题能够解决,则在问题解决之后返)如果问题能够解决,则在问题解决之后返回原程序处

6、继续往下执行,否则停止错误执行。回原程序处继续往下执行,否则停止错误执行。On Error语句语句1On Error GotoResume 结构结构该语句的语法结构如下:该语句的语法结构如下:On Error GoTo 可能出错的语句部分可能出错的语句部分 Exit Sub(Function)语句标号:语句标号:错误处理语句错误处理语句 Resume2On Error GotoResume Next 结构结构该语句的语法结构如下:该语句的语法结构如下:On Error GoTo 可能出错的语句部分可能出错的语句部分 Exit Sub(Function)语句标号:语句标号:错误处理语句错误处理语

7、句 Resume Next9.3 程序调试案例程序调试案例 在在Visual Basic 6.0中有两项调试技术,即中有两项调试技术,即设置设置“断点断点”和和“单步执行单步执行”代码,可以帮助代码,可以帮助用户逐行检查代码以找出错误。用户可以在用户逐行检查代码以找出错误。用户可以在“代码编辑器代码编辑器”中为任何可执行代码行设置断中为任何可执行代码行设置断点。当程序运行到该代码行时,断点会强制程点。当程序运行到该代码行时,断点会强制程序停止并进入中断模式。此时便可及时获取我序停止并进入中断模式。此时便可及时获取我们想要了解的有关程序在该时间点的状态的任们想要了解的有关程序在该时间点的状态的任

8、何信息。然后,可以检查任何变量的值,在何信息。然后,可以检查任何变量的值,在“即时即时”窗口中测试表达式,或者使用窗口中测试表达式,或者使用“编辑编辑并继续并继续”功能修改代码。功能修改代码。下面以一个实例来看看这些调试工具的使用方法。下面以一个实例来看看这些调试工具的使用方法。新建一个工程,该程序的功能是,用户在文本框中新建一个工程,该程序的功能是,用户在文本框中输入一个介于输入一个介于020之间的数字,程序能计算这个数的之间的数字,程序能计算这个数的阶乘并返回结果。阶乘并返回结果。按下面的步骤建立这个程序:按下面的步骤建立这个程序:(1)打开)打开Microsoft Visual Basi

9、c 6.0中文版。中文版。(2)在弹出的对话框中,选择)在弹出的对话框中,选择“标准标准EXE”选项。选项。(3)单击工具栏中的)单击工具栏中的Label标签控件,在标签控件,在Form1窗体窗体上绘制一个标签,并将其上绘制一个标签,并将其Caption属性改为属性改为“请输入请输入一个整数(一个整数(020之间)之间)”。(4)单击工具栏中的)单击工具栏中的Text控件,并在控件,并在Form1窗体窗体中绘制一个文本框,将其中绘制一个文本框,将其text属性设置为空。属性设置为空。(5)单击工具栏中的)单击工具栏中的CommandButton按钮控件,按钮控件,在窗体中绘制一个控件,将其在窗

10、体中绘制一个控件,将其Caption属性设置为属性设置为“计算阶乘计算阶乘”。(6)单击工具栏中的)单击工具栏中的Frame控件,并将其控件,并将其Caption属性设置为属性设置为“观测信息观测信息”。(7)最后单击)最后单击Label控件,将两个标签放到控件,将两个标签放到Frame1中,将其中,将其Caption属性全部设置为空。属性全部设置为空。完成程序的编写后开始调试。首先,按完成程序的编写后开始调试。首先,按【F5】键运行程序,在文本框中输入数字】键运行程序,在文本框中输入数字0,单击单击“计算阶乘计算阶乘”按钮,得到如图按钮,得到如图9-11所示的所示的结果。结果。0的阶乘为的阶

11、乘为1,这个结果是正确的。然后,这个结果是正确的。然后我们测试一下数字我们测试一下数字1的阶乘,得到如图的阶乘,得到如图9-12所所示的结果,也是正确的。示的结果,也是正确的。图图9-11 0的阶乘的阶乘 图图9-12 1的阶乘的阶乘 打开代码窗口,在调用打开代码窗口,在调用Check函数的地方函数的地方设置断点,以便程序在检查参数之前中断运行,设置断点,以便程序在检查参数之前中断运行,这样可以查看程序状态和中间结果。设置断点这样可以查看程序状态和中间结果。设置断点的具体操作步骤如下。的具体操作步骤如下。(1)在代码窗口中,把光标移动到要设置)在代码窗口中,把光标移动到要设置断点的那一行。断点

12、的那一行。(2)选择)选择“调试调试”“切换断点切换断点”命令或命令或按【按【F9】键。这时所设断点处的语句会出现一】键。这时所设断点处的语句会出现一个红色亮条个红色亮条 按【按【F5】键继续运行程序,在文本框中输入】键继续运行程序,在文本框中输入-1,单,单击击“计算阶乘计算阶乘”按钮,这时程序在断点处中断。然按钮,这时程序在断点处中断。然后我们进行单步执行,以便跟踪检查这部分代码的后我们进行单步执行,以便跟踪检查这部分代码的运行情况。运行情况。选择选择“调试调试”“逐语句逐语句”命令或按【命令或按【F8】键单步】键单步执行程序。此时程序会转到执行程序。此时程序会转到Check函数中。每按一

13、次函数中。每按一次【F8】键,程序就会往下执行一条语句。当程序执】键,程序就会往下执行一条语句。当程序执行到行到if语句(见图语句(见图9-16)时,选择)时,选择“视图视图”“立即立即窗口窗口”命令,弹出立即窗口。在立即窗口中输入命令,弹出立即窗口。在立即窗口中输入“?x”,表示需要观测,表示需要观测Check函数中的变量函数中的变量x的值。此时的值。此时立即窗口的使用效果如图立即窗口的使用效果如图9-17所示。这时候表示所示。这时候表示x接接收到的值是收到的值是-1。这说明程序接收到的参数是正确的,。这说明程序接收到的参数是正确的,那么错误不在这里,可能在后面。那么错误不在这里,可能在后面

14、。图图9-16 单步执行单步执行IF语句语句 图图9-17 立即窗口立即窗口 继续按【继续按【F8】键单步执行。此时程序执行到】键单步执行。此时程序执行到Else语语句处。这时发现程序出现了逻辑错误,很显然当用户输句处。这时发现程序出现了逻辑错误,很显然当用户输入的数字为入的数字为-1时不应当执行时不应当执行Else语句的内容,而是应当语句的内容,而是应当执行执行“Label2.Caption=”输入的数字必须介于输入的数字必须介于020之之间间“”“”语句,提示用户输入范围有错。由此我们判断是语句,提示用户输入范围有错。由此我们判断是if语句的条件设置有问题。仔细检查语句的条件设置有问题。仔

15、细检查if语句的条件设置,语句的条件设置,我们发现我们发现“x 20 And x 20 Or x 0”。修改完程序后我们再。修改完程序后我们再次运行程序,程序运行结果如图次运行程序,程序运行结果如图9-18所示。表明参数检所示。表明参数检查函数查函数Check已经能正常工作了。已经能正常工作了。关闭正在运行的程序并清除所有断点,然后再次启关闭正在运行的程序并清除所有断点,然后再次启动程序的运行。在程序运行界面中的文本框中输入动程序的运行。在程序运行界面中的文本框中输入2,单击单击“计算阶乘计算阶乘”按钮,观测程序运行的结果,我们发按钮,观测程序运行的结果,我们发现此时的结果是不正确的(如图现此

16、时的结果是不正确的(如图9-19所示)。这说明阶所示)。这说明阶乘计算函数中也存在逻辑错误。乘计算函数中也存在逻辑错误。图图9-18 修改后的修改后的-1阶乘计算阶乘计算 图图9-19 2的阶乘计算的阶乘计算 关闭正在运行的程序,选择关闭正在运行的程序,选择“调试调试”“添添加监视加监视”命令,弹出命令,弹出“添加监视添加监视”对话框,按图对话框,按图9-20进行设置,单击进行设置,单击“确定确定”按钮。再按【按钮。再按【F5】键运行程序,在输入框重新输入键运行程序,在输入框重新输入2,单击,单击“计算计算阶乘阶乘”按钮。程序会在调用按钮。程序会在调用Factotial函数处中断。函数处中断。

17、选择选择“视图视图”“调用堆栈调用堆栈”命令,弹出命令,弹出“调用堆栈调用堆栈”对话框,如图对话框,如图9-21所示,观察所示,观察Factotial函数的递归调用是否存在问题。在函数的递归调用是否存在问题。在“调调用堆栈用堆栈”对话框中显视了当前还未执行的函数和对话框中显视了当前还未执行的函数和过程,这里显示了过程,这里显示了2个个“工程工程1.Form1.Factotial”,说明说明Factotial函数在计算阶乘时的递归调用是正函数在计算阶乘时的递归调用是正确的,再观察一下确的,再观察一下“监视监视”窗口,窗口,Factotial函数函数的返回值为的返回值为1,也是正确的。,也是正确的

18、。图图9-20 “添加监视添加监视”对话框对话框 图图9-21 “调用堆栈调用堆栈”对话框对话框 在在“调用堆栈调用堆栈”对话框中单击对话框中单击“关闭关闭”按钮,按钮,关闭关闭“调用堆栈调用堆栈”对话框,然后按【对话框,然后按【F5】键继续】键继续运行,这时候运行,这时候Factotial函数返回值改变,程序进入函数返回值改变,程序进入中断方式(见图中断方式(见图9-22)。再打开)。再打开“调用堆栈调用堆栈”窗口,窗口,Factotial函数的返回值为函数的返回值为0,而实际应当为,而实际应当为2,显然,显然这时候发生了错误。这时候发生了错误。关闭关闭“调用堆栈调用堆栈”窗口,结束程序的运

19、行,窗口,结束程序的运行,仔细检查仔细检查Factotial部分的代码,发现部分的代码,发现“Factorial=x*Factotial(x-1)”代码部分有错误,将函数代码部分有错误,将函数名名“Factotial”错误的写成了错误的写成了“Factorial”。虽。虽然是一个小小的拼写错误,却为我们增加了多然是一个小小的拼写错误,却为我们增加了多少调试的工作!改正后再次运行程序,输入数少调试的工作!改正后再次运行程序,输入数字字5,单击,单击“计算阶乘计算阶乘”按钮,这次我们观测程按钮,这次我们观测程序结果,发现如图序结果,发现如图9-23所示的结果是正确的了,所示的结果是正确的了,至此,

20、本程序才算是完全正确的程序了。至此,本程序才算是完全正确的程序了。本本 章章 小小 结结当错误出现时,调试是解决问题的重要步骤当错误出现时,调试是解决问题的重要步骤和手段,而错误捕获和处理则是一种有效地避免程和手段,而错误捕获和处理则是一种有效地避免程序出错的预防措施。本章主要讲述了序出错的预防措施。本章主要讲述了Visual Basic 6.0环境下的调试工具及其功能,一些常用的错误环境下的调试工具及其功能,一些常用的错误捕获和处理语句。但是我们不应该把希望都寄托在捕获和处理语句。但是我们不应该把希望都寄托在程序调试和错误处理上,减少程序错误的根本方法程序调试和错误处理上,减少程序错误的根本方法是养成良好的编程习惯,如良好的变量声明方式、是养成良好的编程习惯,如良好的变量声明方式、适当添加注释、进行模块化的编程等。希望读者在适当添加注释、进行模块化的编程等。希望读者在熟练掌握调试工具和方法的同时,加强对编程习惯熟练掌握调试工具和方法的同时,加强对编程习惯的培养,养成良好的编程风格,这样才能使程序开的培养,养成良好的编程风格,这样才能使程序开发取得较高的效率。发取得较高的效率。图图9-22 中断中断 图图9-23 正确结果正确结果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(vb调试与错误处理课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|