- 1
- 0
- 约2.89千字
- 约 24页
- 2017-10-13 发布于浙江
- 举报
vb调试与错误处理的
第 9章 调试与错误处理;9.1 程 序 调 试; Visual Basic 6.0 的调试是在 Visual Basic IDE(集成开发环境)中进行的,它包含若干个特殊的命令和窗口以帮助用户查找错误。Visual Basic 6.0提供的调试工具包括断点、临时表达式、单步运行等。可通过选择“调试”命令使用这些工具,也可以选择“视图”→“工具栏”→“调试”命令,弹出如图9-1所示的“调试”工具栏。;9.1.2 任务二 程序错误与调试示例;9.2 错误捕获与处理;Visual Basic提供了一些用于错误处理的工具,包括对象、函数和语句等。使用这些工具进行错误处理的具体操作步骤如下:
(1)记录错误的类型和原因。
(2)在引起错误的地方停止原定代码的执行,强制程序转入到用户自定义的“错误处理程序段”入口。
(3)在错误处理程序段内,根据具体的错误进行相应的处理。
(4)如果问题能够解决,则在问题解决之后返回原程序处继续往下执行,否则停止错误执行。;On Error语句;2.On Error Goto…Resume Next 结构
该语句的语法结构如下:
On Error GoTo 语句标号
可能出错的语句部分
Exit Sub(Function)
语句标号:
错误处理语句
Resume Next;9.3 程序调试案例; 下面以一个实例来看看这些调试工具的使用方法。
新建一个工程,该程序的功能是,用户在文本框中输入一个介于0~20之间的数字,程序能计算这个数的阶乘并返回结果。; (4)单击工具栏中的Text控件,并在Form1窗体中绘制一个文本框,将其text属性设置为空。
(5)单击工具栏中的CommandButton按钮控件,在窗体中绘制一个控件,将其Caption属性设置为“计算阶乘”。
(6)单击工具栏中的Frame控件,并将其Caption属性设置为“观测信息”。
(7)最后单击Label控件,将两个标签放到Frame1中,将其Caption属性全部设置为空。; 完成程序的编写后开始调试。首先,按【F5】键运行程序,在文本框中输入数字0,单击“计算阶乘”按钮,得到如图9-11所示的结果。0的阶乘为1,这个结果是正确的。然后我们测试一下数字1的阶乘,得到如图9-12所示的结果,也是正确的。 ; ; 打开代码窗口,在调用Check函数的地方设置断点,以便程序在检查参数之前中断运行,这样可以查看程序状态和中间结果。设置断点的具体操作步骤如下。
(1)在代码窗口中,把光标移动到要设置断点的那一行。
(2)选择“调试”→“切换断点”命令或按【F9】键。这时所设断点处的语句会出现一个红色亮条 ;按【F5】键继续运行程序,在文本框中输入-1,单击“计算阶乘”按钮,这时程序在断点处中断。然后我们进行单步执行,以便跟踪检查这部分代码的运行情况。
选择“调试”→“逐语句”命令或按【F8】键单步执行程序。此时程序会转到Check函数中。每按一次【F8】键,程序就会往下执行一条语句。当程序执行到if语句(见图9-16)时,选择“视图”→“立即窗口”命令,弹出立即窗口。在立即窗口中输入“?x”,表示需要观测Check函数中的变量x的值。此时立即窗口的使用效果如图9-17所示。这时候表示x接收到的值是-1。这说明程序接收到的参数是正确的,那么错误不在这里,可能在后面。; ; 继续按【F8】键单步执行。此时程序执行到Else语句处。这时发现程序出现了逻辑错误,很显然当用户输入的数字为-1时不应当执行Else语句的内容,而是应当执行“Label2.Caption=”输入的数字必须介于0-20之间“”语句,提示用户输入范围有错。由此我们判断是if语句的条件设置有问题。仔细检查if语句的条件设置,我们发现“x 20 And x 0”这是一对相互矛盾的条件,应当修改为“x 20 Or x 0”。修改完程序后我们再次运行程序,程序运行结果如图9-18所示。表明参数检查函数Check已经能正常工作了。
关闭正在运行的程序并清除所有断点,然后再次启动程序的运行。在程序运行界面中的文本框中输入2,单击“计算阶乘”按钮,观测程序运行的结果,我们发现此时的结果是不正确的(如图9-19所示)。这说明阶乘计算函数中也存在逻辑错误。; ; 关闭正在运行的程序,选择“调试”→“添加监视”命令,弹出“添加监视”对话框,按图9-20进行设置,单击“确定”按钮
您可能关注的文档
- SVN笔记的.pdf
- Suse SLES 11 显示傻蔫置常见指南.doc
- svpwm的.ppt
- swing的.ppt
- sybase-系统管理员诺泥训.ppt
- SYNTEC 900M新代铣吹牟程序说明书.doc
- Synopsys 实验系列3的_数字电路仿真_VCS.ppt
- S长沙学院课程设计说牡明书.doc
- TBF掉线率优化分析的.doc
- TB编程基础和策略实的现示例.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 原调正谱G小小蝴蝶la farfalletta钢琴伴奏高清打印版.pdf VIP
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 广发证券-交通银行-601328-零售转型提速,定增落地夯实资本根基.pdf
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 循环系统护理小讲课.pptx
- 建筑屋面西瓦专项施工方案(范本).doc VIP
- 2024年山东铝业职业学院单招综合素质考试题库及答案1套.docx VIP
- 探究TIPS术后支架堵塞的影响因素及抗凝治疗的必要性:基于多维度分析与临床实践.docx
- 成品仓库出货明细表.pdf VIP
- 贵州省黔西南州2025年中考数学试卷及答案.pdf VIP
原创力文档

文档评论(0)