- 0
- 0
- 约1.82千字
- 约 13页
- 2018-01-03 发布于湖北
- 举报
培训课件第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.1 Err 对象 程序运行中出现问题时,当前运行程序的错误信息就会在Err对象中反应出来。Err是Visual Basic在运行期间的对象,包含了最新的错误信息。利用这些错误信息,可以了解系统错误的原因,也可以编写有针对性的错误处理程序。程序运行后,Err对象就存在,出现错误时,有关信息被写到相应的属性中。直到遇到On Error语句,并且在使用Exit Sub等语句退出一个过程后,Err对象中的属性值才被清除。 * 17.3.2 捕获错误 在程序运行中,应及时捕获出现的错误,并予以相应的提示或处理。如果没有及时捕获错误,会导致程序终止运行。在实际的应用系统中,应该有错误处理程序。 将捕获错误程序有时又称为错误陷阱,实际上是在出现错误时,将程序的执行流程引导到错误处理程序,由错误处理程序针对具体的错误进行处理。 捕获错误的基本方法是在程序的开始放置错误转移命令,相当于激活错误处理程序。具体的操作语句主要有On Error GoTo和On Error Resume Next。 * 17.3.3 编写错误处理程序 捕获错误后,应当根据被捕获的错误,编写相应的错误处理程序。上一节的例17.1中,语句标号“ErrorZero:”之后的代码就是一段简单的错误处理程序,该例是对出现的错误给出简单的提示。 编写错误处理程序的目的有三个:一是防止程序异常的中断运行;二是如果可能,在程序运行中纠正某些错误,使程序继续运行;三是将发生的错误通知用户,以便用户纠正错误。 * 17.3.3 集中错误处理程序 在实际的商业应用系统中,错误处理程序时必不可少的。只给一个过程添加错误处理程序感觉很简单。但给所有过程都添加错误处理程序,工作量则是可想而知的。解决这个问题的方法是建立一个集中错误处理的子程序。在所有的过程中,如果出现错误,都调用该子程序,并用它来集中处理错误。 *
您可能关注的文档
- 教案精彩作文组接式结构.ppt
- 精选维修电工技师培训.ppt
- 精选实验十一碱金属和碱土金属元素.ppt
- 培训老年人的合理膳食.ppt
- 精选切尔诺贝利核电站泄漏事故.ppt
- 课件2011年安徽省巢湖市初中毕业学业考试化学试题.doc
- 精选怎样给新闻拟标题.ppt
- 精选项目2 电子商务应用基础.ppt
- 精选玉米的胚乳颜色由等位基因yy控制.ppt
- 精品第二章 经典测验理论的基本假设.ppt
- 2026年预防为主,生命至上安全培训课件.pptx
- 2026年三级安全教育.pptx
- 2026年检测业务安全培训.pptx
- 2026年消防动火培训.pptx
- 2026年重大事故隐患专项排查整治行动清单.pdf
- 2026年健康义普急救.pptx
- 2025—2026学年度四川省广元市苍溪县九年级上学期期末考试历史试题(含答案).docx
- 2025—2026学年度四川省泸州市合江县马街中学校九年级上学期期末历史试题(含答案)(九上_九下第二单元).docx
- 2025—2026学年度云南省曲靖市宣威市民族中学等校联考九年级上学期期末模拟历史试题(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
最近下载
- 2026年春期人教版四年级下册数学全册教案(核心素养教案)(全册共243页)(2).pdf VIP
- 《爱尔纳·突击》剧本.docx VIP
- 酒吧劳动合同(标准版).docx VIP
- 《乡土中国》读后感.docx VIP
- 2026年中考初中语文文言文每日一练习题(含答案).pdf
- 零冷水循环水管安装图.docx VIP
- 江西省部分高中学校2024—2025学年第二学期期中统一检测高一英语试卷及答案.docx VIP
- 2025-2026学年人教版(2024)初中生物八年级上册(全册)教学设计(附目录).docx VIP
- 2026年江西生物科技职业学院单招职业技能考试题库附答案详解(综合卷).docx VIP
- 2025-2026学年人教版(2024)初中生物八年级上册全册(教案含反思).docx VIP
原创力文档

文档评论(0)