文档介绍:第
9
错误处理
程序调试
与
程序调试的主要任务:查找程序的错误和排除错误
本章主要内容
VB程序中的错误类型
程序工作模式
程序调试
错误处理
第9章程序调试与错误处理
三类错误类型:编译错误,逻辑错误和运行错误
1. 编译错误 编译错误是指在程序编译过程中出现的错误。通常是由于不正确书写代码而产生的。
例如:关键字写错,遗漏标点符号,括号不匹配等。 较为容易排除。VB提供了自动语法检查功能,能指出并显示这些错误,帮助用户纠正语法错误。
例子: Foor t = 1 To 100
VB程序中的错误类型
2. 运行错误 运行时的错误是指应用程序在运行期间执行了非法操作所发生的错误。
例如,除法运算中除数为零,访问文件时文件夹或文件找不到等。这种错误只有在程序运行时才能被发现。
举例(“下标越界”):
Private Sub Form_Load() Dim D(20) As Integer, k As Integer For k=1 To 30 D(k)=k*K Next k End Sub
3. 逻辑错误 逻辑错误使程序运行时得不到预期的结果。这种程序没有语法错误,也能运行,但却得不到正确的结果。
例如,在一个算术表达式中,把乘号“*”写成了加号“+”,条件语句的条件写错,循环次数计算错误等
例如,要求10!,若采用: Private Sub Form_Load() Dim t As Integer For i=1 To 10 t=t*i Next i Show :Print t End Sub 运行程序时输出的结果是0
通常,调试程序过程中所花的大部分时间和精力都在逻辑错误上
三种工作模式:设计模式、运行模式和中断模式
在设计模式下,可以建立应用程序的用户界面,设置控件的属性,编写程序代码等
2. 运行模式 在运行模式下,可以测试程序的运行结果,可以与应用程序对话,还可以查看程序代码,但不能修改程序
3. 中断模式 在中断模式下,可以利用各种调试手段检查或更改某些变量或表达式的值,或者在断点附近单步执行程序,以便发现错误或改正错误
程序工作模式
进入中断模式的方法: (1)在代码中插入Stop语句;
(2)在代码窗口中设置断点(用菜单命令); (3)在代码窗口中设置断点(鼠标操作);
(4)在程序运行时强制“中断”;
(5)当程序运行出现错误。 当检查调试通过后,需要清除断点
程序调试一般包括静态检查和动态检查
静态检查与动态检查
静态检查程序的基本方法是逐行逐句地读程序,弄清楚每条语句的作用,预见每条语句和模块的执行结果,判断是否与预期结果相一致,这就是静态检查,也称人工检查。
静态检查无误后,就可以进行更有效的动态检查。通过上机调试来发现错误称为动态检查。 动态检查的基本方法是输入一组典型的数据来运行程序。程序对这些数据处理结果应是已知的,通过运行后实际结果和预想结果相比较,可以判断程序的正确性
程序调试
例如,为了检验求解一元二次方程ax2+bx+c=0的程序()是否正确,我们可以输入以下四组a,b,c的数值:
第一组:0,1,1 预期结果:显示“不是二次方程”第二组:1,-2,1 预期结果:x1=1,x2=1(两个相等实根)第三组:1,1,-2 预期结果:x1=1,x2=-2(两个不等实根)第四组:1,2,2 预期结果:x1=-1+i, x2=-1-i(两个共轭复根)
动态检查中,通常在一些敏感点处设置断点,检查一些变量或表达式的值。