《程序的调试与除错.ppt》由会员分享,可在线阅读,更多相关《程序的调试与除错.ppt(13页珍藏版)》请在三一办公上搜索。
1、第16章 程序的调试与除错,杨章伟e-mail:,课程内容安排,常见错误类型 程序工作模式 程序调试技术 错误处理 小结 习题,常见错误类型,在Visual Basic 6.0程序设计中,错误大概可以分为编译错误、运行错误和逻辑错误三种。编译错误是指由于错误使用Visual Basic语法引起的错误。语法错误是初学者最容易犯的错误。运行错误是程序运行时发生的错误,不属于语法错误,在编译时编译器不会报错。这类错误较难发现,只有当程序运行到错误语句时才会出错。逻辑错误是最难以发现的错误。不同于编译错误和运行错误,逻辑错误往往是由于程序设计者对实际需要处理的问题没有全面的考虑,从而导致程序运行结果不
2、符合预期。,程序工作模式,Visual Basic 6.0中程序的工作模式分为设计模式、运行模式和中断模式三种。设计模式:设计模式是指程序尚未执行,为程序编写状态。在设计模式下,读者可以进行程序界面设计、设置对象属性及编写代码等工作。运行模式:运行模式是指在完成程序代码的编写后,通过集成开发环境启动程序,此时为运行模式。在运行模式下,读者可以和应用程序进行交互。读者可以查看代码窗口,但不能编辑代码。中断模式:中断模式是当程序运行时单击了“中断”按钮,或当程序出现运行错误时,程序进入中断模式。,程序调试技术,调试工具栏:调试工具栏包含了在程序调试过程中常用的一些命令。读者可以通过调用调试工具栏上
3、的命令来快速地执行调试命令,而不必在菜单栏中的“调试”与“运行”菜单项之间切换。本地窗口:本地窗口用于显示所有在当前过程中的变量声明及变量值。若本地窗口为可见,则每当从执行方式切换到中断模式或是操纵堆栈中的变量时,它就会自动重建显示。立即窗口:立即窗口用来执行一段代码或显示Debug.Print语句输出的值。程序在中断模式时会自动打开立即窗口,且其内容是空的。可以在立即窗口中复制或输入一行代码,然后按下键来执行该代码。可以立即在立即窗口中观察到运行结果。,设计外观,监视窗口:监视窗口用来对事先设定的变量或表达式进行值、类型及上下文的监视。监视窗口由“表达式”列表、“值”列表、“类型”列表和“上
4、下文”列表组成。Debug对象:Debug对象用于将程序运行时的结果即时发送到立即窗口显示。Debug对象只是在程序调试阶段起作用,当程序编译为可执行文件后,所有Debug对象都会被忽略。该对象有两个方法,Assert方法和Print方法。Stop语句:在过程中放置一条Stop语句是设置断点的一个变通方法。每当Visual Basic 6.0遇到Stop语句时,这条语句就中止执行并切换到中断模式。,错误处理,为了防止程序由于错误出现而使得程序非法关闭,给用户造成意外损失。在发现错误后,要在程序中对错误进行正确的处理,以保证程序的健壮性。,Err对象,Err对象含有关于运行时错误的信息。当运行时
5、错误发生时,Err对象的属性被填入明确识别错误的信息,以及处理这个错误所使用的信息。Err对象是具有全局范围的固有对象,可以直接使用Err对象,而不必建立这些对象的实例。以下列出了Err对象的主要属性和方法。Description属性:Description属性用于对错误进行简短描述。当无法处理或不想处理错误时,可以使用这个属性提醒读者。Number属性:Number属性用于返回或设置表示错误的设置。Number是Err对象的默认属性。Source属性:Source属性用于返回或设置一个字符串表达式,指明最初生成的错误的对象或应用程序的名称。,捕获错误,On Error语句用于启动一个错误处理
6、程序并指定该子程序在一个过程中的位置。在应用程序出现错误时,该语句可以将程序执行流程转向错误处理子程序。该语句有三种形式,如下所示。On Error GoTo语句标号:当程序发生错误时,On Error GoTo语句将程序执行流程转向由“语句标号”所标识的错误处理子程序。使用该语句读者必须注意,指定的“语句标号”必须同On Error处于同一过程中,否则会发生编译错误。On Error Resume Next:当错误发生时,On Error Resume Next可以忽略当前发生错误的语句,转而执行下一语句。On Error GoTo 0:On Error GoTo 0禁止当前过程中任何已经启
7、动的错误处理程序。,恢复程序运行,Resume语句用于在错误处理程序结束后,恢复原有的运行。该语句一般配合On Error语句使用,有如下三种形式。Resume:作用是如果错误和错误处理程序出现在同一个过程中,则从产生错误的语句恢复运行。如果错误出现在被调用的过程中,则从最近一次调用包含错误处理程序过程的语句处恢复运行。Resume Next:作用是如果错误和错误处理程序出现在同一个程序中,则从紧随产生错误的语句的下个语句恢复运行。Resume语句标号:Resume语句标号作用是当错误处理子程序执行完毕后,程序执行流程转换到“语句标号”处执行。,小结,本章主要介绍了Visual Basic 6
8、.0中程序错误类型、程序的工作模式、程序调试技术及错误处理方法。其中程序调试技术及错误处理是整章内容的重点,读者应将学习重点放在这两部分。程序的调试与除错是程序设计过程中很重要的技术,要想比较好地掌握该技术需要读者在实践中不断地总结经验的基础上进行提高。,常见面试题,1关于编译错误的类型。【考题】编译错误是最容易犯的一类错误,在Visual Basic 6.0中,常见的编译错误有哪几种?2关于逻辑错误。【考题】指出下面程序段的错误。该程序段计算1+2+100。Private Sub Form_Load()Dim sum As Integeri=1Do While i 100 sum=sum+i
9、 i=i+1LoopPrint sumEnd Sub,综合练习,下列代码求解水仙花数。水仙花数是指一个三位整数,其百位的立方与十位的立方与个位的立方之和等于该数。例如,153即是水仙花数,因为153=13+53+33。找出下列代码中的错误,并修改。01Option Explicit02Private Sub Form_Load()03 Dim i As Integer定下循环变量04 Dim n As Integer定义百位数05 Dim m As Integer定义十位数06 Dim k As Integer定义个位数07 08 For i=100 To 99909 n=i/100求解百位数10 m=(i-n*100)/10求解十位数11 k=i Mod 10求解个位数12 sum=n 3+m 3+k 3求和13 If sum=i Then14 Print i&是水仙花数打印结果15 End If16End Sub,
链接地址:https://www.31ppt.com/p-6596207.html