VB程序设计第十三章程序调试与错误处理

上传人:飞*** 文档编号:5187724 上传时间:2017-08-06 格式:PPT 页数:57 大小:1.79MB
返回 下载 相关 举报
VB程序设计第十三章程序调试与错误处理_第1页
第1页 / 共57页
VB程序设计第十三章程序调试与错误处理_第2页
第2页 / 共57页
VB程序设计第十三章程序调试与错误处理_第3页
第3页 / 共57页
VB程序设计第十三章程序调试与错误处理_第4页
第4页 / 共57页
VB程序设计第十三章程序调试与错误处理_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《VB程序设计第十三章程序调试与错误处理》由会员分享,可在线阅读,更多相关《VB程序设计第十三章程序调试与错误处理(57页珍藏版)》请在金锄头文库上搜索。

1、第13章,程序调试与错误处理,第13章程序调试与错误处理,13.1 知识要点13.2 习题与解答13.3 实训指导13.4 测验题,1、程序错误概述(1)程序错误类型编译错误笼统地说,编译错误是指程序在编译过程中出现的错误。编译错误的产生原因是在程序代码中出现了不正确的代码。Visual Basic具有功能强大的智能编辑功能,程序中的语法错误在代码编辑阶段就会被自动检测和识别。,13.1知识要点,运行错误 运行错误是指程序顺利通过编译后(即已经没有编译错误),在运行期间由于执行了程序中的某些非法操作或力图执行一个操作失败时所发生的错误。逻辑错误 逻辑错是指程序在没有编译错误和运行错误的前提下,

2、顺利运行程序,但是却得不到预期的结果。Visual Basic不会针对逻辑错误给出错误提示,而且逻辑错误本身又具有隐蔽性,所以这种错误的发现和排除难度较大。,(2)程序减少错误的方法在程序中加上Option Explicit语句,避免由于变量名的误用而产生的错误。声明变量时,尽可能说明变量的具体类型,少用Variant类型。加入适当的注释,提高程序的易读性。整个程序中使用统一的变量名、过程名和对象名命名规则。为每一个事件过程和普通过程指定一个特定的、明确的目标。对于预感会出现错误的地方,合理添加错误捕捉与处理程序。,2、中断模式(1)程序运行模式Visual Basic有设计模式、运行模式和中

3、断模式三种不同的工作模式。设计模式在设计模式下,用户可以完成建立应用程序的所有步骤,在这个模式下,程序不被运行,不能看到程序的结果,只能设置断点,而不能使用其他的调试工具。在设计模式下,利用Visual Basic的“自动语法检测”,可以发现一般的语法错误。,运行模式当程序处于运行模式时,程序控制权交给了应用程序,设计人员可以象用户一样同程序进行交互,从而进行调试。在这种模式下,可以查看程序代码,但是不能进行修改,如果想修改,可以选择工具栏上的“结束”按钮结束运行模式,回到设计模式。也可以选择工具栏上的“中断”按钮进入中断模式。,中断模式在中断模式下,程序被暂停下来,设计人员可以查看代码、修改

4、代码,还可以查看变量或表达式的取值。 还有哦,(2)中断模式介绍归纳起来,处于中断模式的应用程序可以完成如下操作:编辑修改程序代码。确定活动的过程(正在被调用执行的过程)。查看变量、属性和表达式的当前值。修改变量和属性的值。执行程序中特定的语句。,从程序运行模式进入中断模式的方法有:选择工具栏上的“中断”按钮。选择“运行”菜单中的“中断”菜单命令。按下Ctrl+Break键。当程序出现未被捕捉的错误时,单击错误提示对话框中“调试”按钮。程序执行到设置断点处。程序执行到Stop语句。,(3)设置与清除断点程序运行到断点就会暂停下来,进入中断模式。之所以要设置断点,用户怀疑程序在该位置处可能有些问

5、题,程序进入中断模式后,可以进行调试。设置断点可以在设计模式和中断模式下进行,在应用程序处于空闲时,也可以在运行模式下进行。,在程序中设置段点的方法为:在代码编辑窗口中,把光标移动到预设置断点行的任意位置。选择调试工具栏中的“切换断点”按钮。或者选择“调试”菜单中的“切换断点”菜单项。或者直接按下F9键。另外一种方法就是直接在设置断点行的左边页边提示器栏单击鼠标。,Visual Basic以粗体、暗红色(默认值,可更改)高亮度显示设置了断点的语句行,同时,在左边页边提示器栏内显示“”标记。在一个程序中可以设置多个断点。另外,程序运行到断点处暂停下来时,设置断点的语句并没有被执行。清除断点的方法

6、很简单,基本和设置断点的操作一样。还可以选择“调试”菜单中的“清除所有断点”菜单项来清除断点。,(4)使用Stop语句Stop语句的基本功能与断点的功能相似,但是不同的是,断点是临时存在的,而Stop语句作为程序中的一条语句会一直保留在程序当中。,(5)使用Debug.Assert方法 和Stop语句不同,Debug.Assert方法可以使程序有选择性地进入中断模式。Debug.Assert方法的使用方法为: Debug.Assert 程序根据逻辑表达式的值来决定是否进入中断模式,只有当逻辑表达式的值为False时,程序才进入中断模式。,3、程序调试工具调试工具的功能分为两种,第一种用于帮助处

7、理逻辑错误和运行时错误;第二种用于观察无错代码的状况。Visual Basic提供的调试工具有:(1)调试工具栏(2)使用本地窗口(3)使用立即窗口,在“立即”窗口中有两种方法可以显示变量、表达式或对象的属性值。在程序中使用Debug.Print语句直接在“立即”窗口中用Print语句在“立即”窗口中还可以修改对象的属性值,具体方法为:在程序中断模式下,直接输入修改属性的语句。 在“立即”窗口中,可以运行代码,然而代码必须写在同一行上。(4)使用监视窗口,4、错误捕捉与处理为了避免非语法或语义错误的出现,可以在可能出现错误的地方设置错误陷阱,用来捕捉错误,一旦错误发生,程序将转移到错误处理程序

8、,根据错误的具体情况按事先设计好的方案做出处理。,(1)On Error语句On Error语句主要用于设置错误陷阱,来捕捉错误。On Error语句有三种使用格式。On Error GoTo 标号这种语句的语法结构如下: On Error GoTo 标号 标号为错误处理语句处的标号 可能出现错误的语句部分 Exit Sub(Function) 标号: 错误处理部分,On Error Resume Next这种语句的语法结构如下: On Error Resume Next 可能出现错误的语句部分On Error GoTo 0这种语句的语法结构如下: On Error GoTo 0 可能出现错误

9、的语句部分,(2)Resume语句Resume语句具有重新执行语句的能力,提供了退出程序错误处理的方法,具体有以下三种用法。Resume:结束错误处理程序并重新执行产生错误的语句。Resume Next:结束错误处理程序并重新执行产生错误的语句的下一条语句。Resume 标号:结束错误处理程序并在行标号指定的位置处恢复执行。,(3)Err对象Err对象含有程序运行时错误的信息。Err对象的缺省属性为Number属性,为错误的标识号码。包含在 Err 对象 Description 属性中的字符串可以解释错误,该错误与当前的错误号相关联。一般使用 Err.Number 而不要用 Err.Descr

10、iption 识别已发生的具体错误。,第13章程序调试与错误处理,13.1 知识要点13.2 习题与解答13.3 实训指导13.4 测验题,13.2 习题与解答,加油啊,1、在程序设计中,常见的程序错误类型有几种?分别是什么类型?答案:常见的错误有三种,分别是编辑错误、运行错误和逻辑错误。排除三种类型错误的排除难度从易到难分别是编辑错误、运行错误和逻辑错误。,2、减少程序错误的措施有哪些?答案:(1)在程序中加上Option Explicit语句,避免由于变量名的误用而产生的错误。(2)声明变量时,尽可能说明变量的具体类型,少用Variant类型。(3)加入适当的注释,提高程序的易读性。(4)

11、整个程序中使用统一的变量名、过程名和对象名命名规则。(5)为每一个事件过程和普通过程指定一个特定的、明确的目标。(6)对于预感会出现错误的地方,合理添加错误捕捉与处理程序。,3、为什么要在程序中设置断点,设置的方法有哪些?答案:断点就象红色交通灯,程序运行到断点就会暂停下来,进入中断模式。之所以要设置断点,用户怀疑程序在该位置处可能有些问题,程序进入中断模式后,可以进行调试。设置断点可以在设计模式和中断模式下进行,在应用程序处于空闲时,也可以在运行模式下进行。,在程序中设置段点的方法有两种,分别是:(1)首先在代码编辑窗口中,把光标移动到预设置断点行的任意位置,再选择调试工具栏中的“切换断点”

12、按钮,或者选择“调试”菜单中的“切换断点”菜单项,或者直接按下F9键。(2)直接在设置断点行的左边页边提示器栏单击鼠标。,4、分析设置断点、使用Stop语句和使用Debug.Assert三种方法的功能异同。答案:三种方法的相同点是,它们都可以使程序进入中断模式。而它们的不同之处在于设置断点、使用Stop语句都是强制性进入中断模式,而使用Debug.Assert是有选择地进入中断模式。断点是临时存在的,不保存在程序中;Stop语句则一直保留在程序中,调试通过后,一定要删除该语句;Debug.Assert只在开发环境中有效,而在编译执行时被忽略。,5、Visual Basic提供的程序调试工具有哪

13、些?答案:调试工具栏、本地窗口、立即窗口和监视窗口。6、“立即窗口”有哪些功能? 答案:利用“立即窗口”可以显示变量、表达式的计算值,也能够为变量、对象属性赋予新的值,帮助用户进行程序调试,还可以在“立即”窗口中直接执行Visual Basic语句。,第13章程序调试与错误处理,13.1 知识要点13.2 习题与解答13.3 实训指导13.4 测验题,13.3实训指导,13.3.1技能训练目的 熟练掌握进入Visual Basic程序三种模式的的常用方法。 掌握Visual Basic调试工具的使用方法。 熟练掌握断点与逐语句相结合的调试方法。 掌握利用On Error语句、Resume语句和

14、Err对象进行错误捕捉与处理的方法。,13.3.2技能训练内容【实训8.1】编写简单除法运算程序,要求程序具备错误处理功能。窗体设计:在窗体上添加三个文本框(Text1、Text2和Text3)、三个标签(其中两个分别将其Caption属性设置为“+”号和“=”号);再添加一个命令按钮(Button1)。各个控件的相关属性设置如图13-1所示。,图13-1,程序代码如下:Private Sub Form_Load()Text1.Text = Text2.Text = Text3.Text = Text3.Visible = FalseEnd SubPrivate Sub Command1_Cl

15、ick()Dim Msg1 As String, Msg2 As StringMsg2 = 除法的运行错误处理Text3.Text = Text3.Visible = True错误捕获语句,如果出现错误转到错误处理例程On Error GoTo errHandleText3.Text = (Text1.Text) / (Text2.Text)退出Exit Sub错误处理例程开始errHandle:Select Case Err.Number0作除数Case 11 Msg1 = 0作除数: MsgBox Msg1, 48, Msg2按“确定”后忽略错误 Resume Next除数或被除数为非数字Case 13 Msg1 = 出现非数字: MsgBox Msg1, 48, Msg2,按“确定”后忽略错误 Resume Next出现意外错误Case Else Msg1 = 没有预料到的错误 & Chr$(13) & Chr$(10) _ & 错误代码为 & Err.Number & Chr$(13) & Chr$(10) _ & 错误性质为 & Err.Description MsgBox Msg1, 48, Msg2按“确定”后忽略错误 Resume NextEnd SelectEnd Sub,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号