欢迎来到天天文库
浏览记录
ID:37582448
大小:467.81 KB
页数:28页
时间:2019-05-12
《程序调试和错误处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章程序调试和错误处理10.1VB程序的错误类型10.2VB程序的工作模式10.3程序调试10.4错误捕获及处理7/23/20211清华大学出版社【目的要求】1.理解程序的错误类型;2.掌握VB提供的常用调试工具的使用3.3.掌握错误的捕获与处理方法;【重点】错误的捕获与处理方法;7/23/20212清华大学出版社10.1VB程序的错误类型VB应用程序的错误一般可分为3类,即编译错误(语法错误)、运行错误和逻辑错误。1.编译错误:指程序在编译时出现的错误(语法错误)。2.运行错误:运行错误是指程序本身没有编译(语法)错误,这种错误在编译时很难发现,只是在运行时才能暴露出来。例如下面求某个
2、数阶乘的函数:PrivateSubCommand1_Click()Printfact(14)EndSub程序本身没有任何语法错误,但在程序运行过程中,语句Printfact(14)(计算14的阶乘)的返回的值超出整型数值的范围,产生数据溢出导致程序出错。PrivateFunctionfact(ByValnAsInteger)AsIntegerDimsAsInteger,iAsIntegers=1Fori=1Tons=s*iNextifact=s EndFunction7/23/20213清华大学出版社3.逻辑错误逻辑错误是指从语法上看程序代码是有效的,并且也可以运行,但得不
3、到应有(正确)的结果。与上述两种错误不同,逻辑错误不报告错误信息。【例10.1】编程计算0.1+0.2+0.3+……+0.9的值。PrivateSubCommand1_Click()DimiAsSingle,sAsSingleFori=0.1To0.9Step0.1s=s+iNextiPrintsEndSub正确的结果应该是4.5,但按照上面的代码,结果却是3.6。7/23/20214清华大学出版社10.2VB程序的工作模式VB程序有三种工作模式:设计模式(DesignTime)、运行模式(RunTime)和中断模式(BreakModel)。1.设计模式2.运行模式3.中断模式在中
4、断模式下,暂停应用程序的执行,此时可以检查程序代码,并可以进行修改,也可以检查数据是否正确,修改完程序后,可继续执行程序。VB所有调试手段均可以在中断模式下应用。可以用以下四种方式进入中断模式:l在“运行”模式下,执行“运行”菜单中的“中断”命令;l在程序中设置断点,程序运行到断点处时自动进入中断模式;l在程序中加入“STOP”语句,程序运行到该语句处时自动进入中断模式;l在程序运行过程中,如果出现错误,则自动进入中断模式;从语法和算法设计思路来看,都没有错误,但始终得不到正确的结果。这类错误是所有错误中最难诊断、最难解决的错误,只有通过调试工具的帮助,对程序进行逻辑分析、代码调试及分析、比
5、较运行结果等综合手段才能最终加以解决。10.3程序调试10.3.1VisualBasic程序调试工具为了使用调试工具,应首先进入中断模式,此时程序中的变量和控件的属性值都被保留下来,为用户分析应用程序的当前状态,解决程序的各种错误提供了有力的保障。图10-6所显示的【调试】工具栏为用户提供了许多功能强大的调试工具。7/23/20215清华大学出版社图10-6运用这些调试工具可以对产生逻辑错误的程序进行调试,对程序的调试大致分为三个步骤:第一步是设置断点;第二步是跟踪程序运行;第三步是使用调试窗口。7/23/20216清华大学出版社1.设置断点就是在程序代码中设置一些断点,当程序执行到该点时就
6、会自动暂停下来,以方便用户对程序进行调试。(1)在程序代码区人工设定一个断点。(2)运行程序,当执行到了设置断点的代码行时,程序终止进入中断状态,将鼠标移动到某个变量上面,可以看到设置断点代码行中变量的值。例:验证【例10.1】的运行结果错在何处?7/23/20217清华大学出版社2.跟踪程序运行逐语句执行在调试工具栏上有一个单步执行程序的按钮。单击该按钮可以单步执行程序。也可以用热键F8来实现单步执行程序,或者在【调试】菜单上选取【逐语句】选项。逐过程执行“逐过程执行”是把被调用的过程视为一个基本单位来执行,然后转回到当前过程的下一语句。操作方法:单击“调试”工具栏上的“逐过程”按钮。也
7、可以用组合键Shift+F8或“调试”菜单上的“逐过程”选项。跳出当使用逐语句方式进入到一个过程中,如果确认该过程的语句绝对没有问题,可以单击【调试】工具栏的【跳出】按钮或按下快捷键Ctrl+Shift+F8,从当前过程中跳出,去执行过程调用者的下一条语句。7/23/20218清华大学出版社3.调试窗口在上面的方法中我们只通过设置断点和跟踪程序运行这两步,就已经检查出程序的错误了。对于较复杂的程序的调试,需要
此文档下载收益归作者所有