第17章程序调试与错误处理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第17章程序调试与错误处理•在编程过程中,经常会遇到各种各样的错误。这些错误可能是编程时人为的失误,也可能是计算机运行时的异常错误,又或许是后期软件使用者的错误操作导致的错误等等。•为了尽量保证软件的正确性,掌握好的程序调试方法是非常重要的。当然,不论程序员的工作多么仔细,测试工作多么周密,成功地通过调试、测试的程序在运行中仍旧有可能会出现错误。错误处理程序就是针对运行中的错误而编写的对错误进行处理的程序。17.1程序的错误类型•程序在编写代码或调试运行中,屏幕上将出现一些出错的提示信息,这些信息按照出错的类型可分为编译错误、实时错误和逻辑错误三种。17.1.1编译错误•编译错误发生在编辑时,是用户输入代码时,违反语句的语法规定引起的错误。例如:关键字拼写错误、变量名定义错、表达式错误等。这类错误的表现形式是系统将出错行代码变成红色高亮度,并拒绝接收新的输入。例如17.1.2运行时错误•运行时错误是指应用程序在运行期间执行了非法操作所发生的错误。例如,除法运算中除数为零,访问文件时文件夹或文件找不到等,给数值变量赋予了字符串值等。这种错误只有在程序运行时才能被发现。17.1.3逻辑错误•逻辑错误使程序运行时得不到预期的结果。这种程序没有语法错误,也能运行,但却得不到正确的结果。例如,在一个算术表达式中,把乘号“*”写成了加号“+”,条件语句的条件写错,循环次数计算错误等。通常,调试程序过程中所花的大部分时间和精力都在逻辑错误上。17.2错误排错方法•当程序中出现错误时,应当寻找到出错的地方,并对其进行修改。作为编程人员必须掌握排除错误的各种方法和技巧。因为,即使是非常熟练的编程人员也会在编写应用程序时犯一些错误,而此时掌握好的排错方法就会变得非常重要了。17.2.1编译错误排错与实时错误排错•1、编译错误排错•2、实时错误排错17.2.2逻辑错误调试方法•逻辑错误是指执行程序后,得不到所期望的结果。这类错误往往是程序逻辑缺陷所引起的。例如:程序的逻辑判断条件不正确、循环的次数不对、进入死循环等错误,或是不能按照运算式得到结果等。这类错误往往需要用户进行调试才能排除。17.3错误处理程序•错误处理程序的作用是,对程序运行期发生的错误操作进行响应和处理。当程序发生错误时,错误处理程序能够捕获错误,并按程序中所设计的处理方法对错误进行处理。17.3.1Err对象•程序运行中出现问题时,当前运行程序的错误信息就会在Err对象中反应出来。Err是VisualBasic在运行期间的对象,包含了最新的错误信息。利用这些错误信息,可以了解系统错误的原因,也可以编写有针对性的错误处理程序。程序运行后,Err对象就存在,出现错误时,有关信息被写到相应的属性中。直到遇到OnError语句,并且在使用ExitSub等语句退出一个过程后,Err对象中的属性值才被清除。17.3.2捕获错误•在程序运行中,应及时捕获出现的错误,并予以相应的提示或处理。如果没有及时捕获错误,会导致程序终止运行。在实际的应用系统中,应该有错误处理程序。•将捕获错误程序有时又称为错误陷阱,实际上是在出现错误时,将程序的执行流程引导到错误处理程序,由错误处理程序针对具体的错误进行处理。•捕获错误的基本方法是在程序的开始放置错误转移命令,相当于激活错误处理程序。具体的操作语句主要有OnErrorGoTo和OnErrorResumeNext。17.3.3编写错误处理程序•捕获错误后,应当根据被捕获的错误,编写相应的错误处理程序。上一节的例17.1中,语句标号“ErrorZero:”之后的代码就是一段简单的错误处理程序,该例是对出现的错误给出简单的提示。•编写错误处理程序的目的有三个:一是防止程序异常的中断运行;二是如果可能,在程序运行中纠正某些错误,使程序继续运行;三是将发生的错误通知用户,以便用户纠正错误。17.3.3集中错误处理程序•在实际的商业应用系统中,错误处理程序时必不可少的。只给一个过程添加错误处理程序感觉很简单。但给所有过程都添加错误处理程序,工作量则是可想而知的。解决这个问题的方法是建立一个集中错误处理的子程序。在所有的过程中,如果出现错误,都调用该子程序,并用它来集中处理错误。

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功