- 0
- 0
- 约8.79千字
- 约 33页
- 2019-11-06 发布于广东
- 举报
(3)打开代码窗口,在调用CHeckPARAMETERS处设置断点,以便程序在检查参数之前中断运行,这样可以查看程序状态和中间结果。加入断点的操作可按下面步骤进行。 代码窗口中,把光标移动到要加断点的一行。 打开[调试]菜单,单击[切换断点]菜单项或按F9键。这时所选的语句出现一红色亮条,标识所设断点处。图显示了加入断点后的情形。 如果要去除断点,可以打开[调试]菜单,单击[切换断点]菜单项或按F9键。也可打开[调试]菜单,单击[清除所有断点]菜单项以清除所有断点。 (4)按F5键运行程序。在文本框中输入“-1”,单击[计算阶乘]按钮,这时程序在断点处中断,。下面单步执行,跟踪检查参数这部分代码的运行。 (5)打开[调试]菜单,单击[语句]菜单项或按F8键单步执行。这时,程序转入CHECKPARAMETER函数中。在执行到IF 语句处时,打开[视图]菜单击[立即窗口]菜单项,这时桌面上出现了[立即]窗口。在[立即]窗口中输入“?X”,观程序接收到的参数值。 [立即]窗口中显示的X值为-1,说明程序接收到的参数是正确的,错误可能在后面,所以继续单步执行。 (6)按F8键使用单步运行,程序流程转到ELSE语句处。现在发现问题就出在这里,因输入的-1不在0---20之间,程序应执行LABEL2。CAPTION=“输入错误!请重新输入!”语句,以显示输入错误提示,而现在没有执行这条语句,因此在IF判断语句中的条件设置可能有问题。仔细查看IF 语句,发现果然有问题,这条语句写的是: if x20 and x0 then “if x20 and x0”是一对矛盾的条件,所以无论输入什么数字,程序都不会执行显示出错信息的语句。应当把条件改成“if x20 OR x0”,再按F5键运行。现在程序已经显示出错信息,说明参数检查部分已正常工作。 (7)关闭正在运行的程序,打开[调试]菜单,单击[清除所有断点]菜单项,然后按F5键运行程序。在输入文本框中输入5,再单击[计算阶乘]按钮。 (8)观察计算结果,发现5的阶乘等于1,显然是不正确的。这说明阶乘计算也有错误。下面再观察求解阶乘的函数 。 (9)关闭正在运行的程序,然后打开[调试]菜单,单击[添加监视]菜单项,并按图所示进行设置。单击[确定]按钮,再按F5键运行程序。在输入框重新输入5,单击[计算阶乘]按钮。 (10)程序在调用JIECHENG函数处中断。 打开[视图]菜单,单击[调用堆栈]菜单项,打开[调用堆栈]窗口,如图所示,观察JIECHENG函数的递归调用是否存在问题。 在[调用堆栈]窗口中显示了当前还末执行的函数和过程。这里显示了5个“工程1.FORM1.JIECHENG”工程,说明JIECHENG函数在计算5的阶乘时的递归调用是正确的。再看[监视]窗口,JIECHENG函数当前的返回值为1,也是正确的。 (11)在[调用堆栈]窗口中单击[关闭]按钮,关闭[调用堆栈]窗口,然后按F5键继续运行。这时JIECHENG函数返回值改变,程序进入中断方式。再打开[调用堆栈]窗口。 JIECHENG函数的返回值为0,而实际应为2,错误发生在这里。关闭[调用堆栈]窗口,结果程序运行。仔细查看JIECHENG部分的函数代码: Function jiecheng(byval x as integer)as long If x=o or x=1 then Jiecheng=1 Else Jieheng=x*jiecheng(x-1) End if End function 原来在进行递归运算时,将JIECHENG误写为JIEHENG,现将其改为JIECHENG,再运行程序。仍输入参数5,然后单击[计算阶乘]按扭,会得到正确结果, 9.4 本章小结 应用程序在运行中出现错误是不可避免的,甚至防不胜防。虽然程序设计人员可以消除大部分潜在的错误,语法错误也可以在编译中查出,但不可能消除所有的错误。因此,必须在系统运行阶段发现或捕捉这些不可预见的错误。Vb中用On Error语句捕捉程序运行时的错误,以便设置错误陷阱,通过编写错误处理程序,对所有能预见的错误都作出响应或处理,实现在线错误处理。 VB不能诊断或更正错误,但能提供工具帮助用户分析和测试。有了调试工具,就能深入到应用程序内部去观察,从而确定到底发生了什么以及为什么会发生。VB的调试支持断点、中断表达式、通过代码一次执行一个语句或一个过程、显示变量和属性的值等方式。 习题 一、判断题 1、错误处理程序只能判断程序中的语法错误。 2、Visual Basic的“断点”由“切换断点”命
您可能关注的文档
最近下载
- 河道整治工程施工质量创优计划的实施效果评估与改进策略.docx VIP
- 水利工程质量创优方案(3篇).docx VIP
- 110kv变电站的设计毕业设计(论文).docx VIP
- 华中师范大学《C++程序设计》2020-2021学年第一学期期末试卷.pdf VIP
- 电力系统仿真:电力系统暂态仿真all.docx VIP
- 电力系统暂态稳定性仿真研究毕业设计(论文).docx VIP
- 3 浮力——液面升降问题(原卷版).docx VIP
- 核心素养视域下的初中数学单元作业设计研究.docx VIP
- 纪念红军长征90周年演讲稿(2025年最新版).pptx VIP
- 2002-2012 十年北京卷高考语文试卷深度解析.pdf VIP
原创力文档

文档评论(0)