Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一

上传人:E**** 文档编号:89362483 上传时间:2019-05-24 格式:PPT 页数:49 大小:926KB
返回 下载 相关 举报
Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一_第1页
第1页 / 共49页
Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一_第2页
第2页 / 共49页
Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一_第3页
第3页 / 共49页
Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一_第4页
第4页 / 共49页
Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 第三版 教学课件 ppt 作者 丁爱萍 第6-11章 项目十一(49页珍藏版)》请在金锄头文库上搜索。

1、项目十一 程序调试技巧,任务11.1 程序设计中的常见错误类型 任务11.2 程序调试和排错的方法,任务11.1 程序设计中的常见错误类型 任务导入 为了易于找出程序中的错误,我们将错误分为四种类型,即编辑错误、编译错误、运行错误和逻辑错误。本任务将介绍VB中的常见错误,以引起学生的注意,尽量避免错误的发生。,学习目标 (1) 了解使用VB编程时的常见错误。 (2) 能在使用VB编程时尽量避免出错。,任务实施 1. 了解编辑错误 当用户在代码窗口中编辑代码时,VB会对程序直接进行语法检查,当发现程序中存在输入错误,如语句没输入完、关键字输入错误等时,VB会弹出对话框,提示出错信息,如图11.1

2、所示。这时,用户必须单击“确定”按钮,关闭提示框,程序中出错的位置显示为红色,出错部分被高亮度现实,以提示用户进行修改。,图11.1 编辑错误,2. 了解编译错误 编译错误是指单击了“启动”按钮,VB开始运行程序前,编译程序段时产生的错误。此类错误是由于用户未定义变量、遗漏关键字等原因造成的。这时,VB也将弹出对话框,提示出错信息,如图11.2所示。出错的位置被高亮度显示,同时VB停止编译。这时,用户必须单击“确定”按钮,关闭出错对话框,然后对出错行进行修改。,图11.2 编译错误,3. 了解运行错误 运行错误是指VB在编译通过后,运行代码时发生的错误。这类错误往往是由于指令代码执行了非法操作

3、而引起的,如类型不匹配、试图打开一个不存在的文件等。 例如,属性FontSize的类型为整型,若对其赋值的类型为字符串,则系统运行时将显示如图11.3所示的提示出错信息。当用户单击了“调试”按钮后,进入中断模式,光标停留在引起出错的位置,此时允许修改代码。,图11.3 运行错误,4. 了解逻辑错误 程序运行后,如果得不到期望的结果,则说明程序存在逻辑错误。例如,运算符使用不正确、语句的次序不对、循环语句的起始值或终值不正确等。通常,逻辑错误不会产生错误提示信息,因此这类错误较难排除。这时就需要程序员仔细地阅读和分析程序,并要有一定的调试程序的经验。,任务11.2 程序调试和排错的方法 任务导入

4、 为了更正程序中发生的不同错误,VB提供了广泛的调试工具。一般的调试方法是采用设置断点、插入观察变量、逐行执行和过程跟踪等手段,以在调试窗口中显示所关注的信息,或设置错误陷阱等。本任务将介绍程序调试和排错的方法和 技巧。,学习目标 (1) 会使用设置断点、插入观察变量、逐行执行和过程跟踪等手段排查错误程序。 (2) 会使用调试窗口排查错误程序。 (3) 了解设置错误陷阱排查错误程序的方法。,任务实施 1. 了解VB的三种模式 作为一个集编辑、编译与运行于一体的集成环境,VB的工作状态可分为三种模式:设计模式、运行模式和中断模式。为了测试和调试应用程序,用户在任何时候都应清楚地知道正处在何种模式

5、下。,1) 设计模式 在设计模式下,可以进行程序的界面设计、属性设置、代码编写等,此时标题栏显示“设计”,如图11.4所示。在此模式下既不能运行程序,也不能使用调试工具。,图11.4 设计模式,2) 运行模式 执行“运行”菜单下的“启动”命令,或按F5键,或单击工具栏上的“启动”按钮,即可由设计模式进入运行模式。在此模式下,标题栏显示“运行”,如图11.5所示。,图11.5 运行模式,3) 中断模式 当程序运行时,单击“运行”菜单“中断”命令,或单击工具栏上的“中断”按钮,即可进入中断模式,如图11.6所示。此时标题栏显示“break”。当程序出现运行错误时,也可以进入中断模式。,图11.6

6、中断模式,2. 插入断点和逐语句跟踪 在调试程序时,通常会设置断点来中断程序的运行,然后逐语句跟踪和检查相关变量、属性和表达式的值是否在预期的范围内。 可在中断模式下或设计模式时设置或删除断点。当应用程序处于空闲时,也可在运行时设置或删除断点,按下F9键,如图11.7所示,将在程序运行到断点语句处(该语句未执行)停下,进入中断模式。在此模式下对所关心的变量、属性、表达式的值都可以查看。,图11.7 插入断点和逐语句跟踪,在VB中提供了在中断模式下直接查看某个变量的值的方法:把鼠标指向所关心的变量处,稍停片刻,在鼠标下方就会显示该变量的值,如图11.8所示。,图11.8 显示变量值,3. 调试窗

7、口 在中断模式下,除了用鼠标指向要观察的变量以直接显示其值外,还可以通过“立即”窗口、“监视”窗口和“本地”窗口观察有关变量的值。可单击“视图”菜单中的对应命令打开这些 窗口。,1) “立即”窗口 “立即”窗口是所有调试窗口中使用最方便、最常用的窗口。可以在程序代码中利用Debug.Print方法把输出送到“立即”窗口;也可以直接在该窗口使用Print语句或“?”显示变量的值,如图11.9所示。,图11.9 立即窗口,2) “本地”窗口 “本地”窗口显示当前过程中所有变量的值。当程序的执行从一个过程切换到另一过程时,“本地”窗口的内容会发生改变,它只反映当前过程中可用的变量。图11.10所示为

8、“本地”窗口。,图11.10 本地窗口,3) “监视”窗口 “监视”窗口可显示当前的监视表达式。在此之前必须在设计阶段,利用“调试”菜单的“添加监视命令”或“快速监视”命令来添加监视表达式以及设置监视类型。在运行时,监视表达式显示在“监视”窗口,根据所设置的监视类型进行相应的显示。图11.11所示为“监视”窗口。,图11.11 监视窗口,4. 使用On Error语句设置错误陷阱 程序员无论多么细心地调试程序,都不可能绝对避免错误的发生。在VB中常采用错误陷阱的方法防止致命错误的发生。 设置错误陷阱可以使用On Error语句,其语法形式见表11-1。,错误处理程序的设计一般可分为以下三步:

9、(1) 使用On Error语句捕获错误,并把程序流程转向由标号指示的错误处理程序段。 (2) 编写错误处理代码,对所有可能预见的错误都做出相应的安排。 (3) 根据错误类型可使用Resume语句重新执行出错语句,或使用Resume Next语句执行出错语句的下一条语句,并继续运行程序。,【课堂演练】 【实例11-1】 错误处理程序示例。建立一个10次的循环,每次产生两个09的随机整数,并输出两数的商。若出错,则执行错误处理语句,显示信息如图11.12所示;否则显示正常信息,如图11.13所示。,图11.12 出错结束的程序,图11.13 正常结束的程序,【实现步骤】 编写代码如下: Priv

10、ate Sub Form_Load( ) 窗体装入时执行的代码 Show Randomize 初始化随机数发生器 On Error GoTo aa 若出现错误(b=0),则执行行标号为aa的程序段 For i = 1 To 10,a = Int(Rnd * 10) : b = Int(Rnd * 10) 产生两个09的随机整数 Print a / b 输出两随机数的商 Next Print “程序正常结束!” Exit Sub 退出过程,不执行错误处理语句 aa: Print “分母为零了,程序结束!” End Sub,5. 使用Err对象 Err对象中包含有关于运行时错误的信息。Err对象的

11、属性由错误的生成者来设置,这个生成者可以是VB系统,可以是对象,也可以是程序设计员。 1) Err对象的方法 在Err对象中使用Clear方法的语法格式为 Err.Clear,通常,在处理错误之后使用Clear方法来清除Err对象,如在对On Error Resume Next使用拖延错误处理时就可使用Clear方法。每当执行下列语句时就会自动调用Clear方法: 任意类型的Resume语句。 Exit Sub、Exit Function、Exit Property语句。 任何On Error语句。,【课堂演练】 【实例11-2】 Clear方法使用示例。本示例使用Err对象的Clear方法将

12、Err对象的数值属性重新设置为零,并将其字符串属性设置为零长度字符串。如果在代码中省略Clear方法,则每完成一次循环便会显示一次错误信息(发生错误之后),且不管程序中的计算结果是否有错误。,【实现步骤】 程序代码如下: Dim Result(10) As Integer 声明数组变量 其元素容易溢出 Dim indx On Error Resume Next 将错误处理的方式设为“继续下一行”,Do Until indx = 10 下面计算若有错误发生,便显示错误信息 Result(indx) = Rnd * indx * 20000 If Err.Number 0 Then MsgBox

13、Err, , “Error Generated: “, Err.HelpFile, Err.HelpContext 弹出一个信息框 Err.Clear 清除 Err 对象的属性,Else indx = indx + 1 End If Loop,2) Raise方法 若运行时发生错误,则Err对象的属性被填入明确识别错误的信息以及处理这个错误所使用的信息。为了在代码中生成运行时错误,应使用Raise方法。 Raise方法的语法格式为 Err.Raise Number, Source, Description, HelpFile, HelpContext 各参数的含义见表11-2。,在任意形式的R

14、esume或On Error语句之后,以及在错误处理子程序内的Exit Sub、Exit Function或Exit Property语句之后,可将Err对象的属性重新设置为零或长度为零的字符串(“)。可使用Clear方法重新明确设置Err对象。,对于系统错误和类模块生成运行时的错误,要使用Raise方法而不使用Error语句。在其他代码中是否使用Raise方法,这要看想要返回的信息量有多大。另外,Err对象是具有全局范围的固有对象,在代码中没有必要建立这些对象的实例。 3) Err对象的属性 Err对象的默认属性是Number。因为该默认属性可以用对象名称Err表示,所以不必修改以前用Err函数或Err语句书写的代码。Err对象的常用属性见表11-3。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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