精品课件-05第05章容错环节与程序调试教材幻灯片.pptVIP

精品课件-05第05章容错环节与程序调试教材幻灯片.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学课件讲义PPT教学教案培训资料医学中小学上课资料

第5章 容错环节 本章学习目标 容错环节的重要性 容错环节的设计原则 结构化错误处理 非结构化错误处理 第5章 容错环节 5.1 容错代码及其实现策略 5.2 错误种类与错误处理 5.1 容错代码及其实现策略 容错能力脆弱是导致程序崩溃的根本原因。 5.1.1 容错代码被忽略的原因 5.1.2 实现全面容错的途径 5.1.3 提交友好的报错信息 5.1.1 容错代码被忽略的原因 1.商业原因 展示容错代码会渲染系统的脆弱性,影响用户或潜在用户对系统的信心。 容错需要数量庞大的代码,编写、调试这些代码会降低短期商业效益。 多数管理者认为编程的目的是完成明确的任务,容错代码不是关键所在。 事实上,评估软件的长期效益是比较困难的。容错能力很难正确测算。 2.技术原因 短期培训可以使新程序员迅速掌握新技术,但是通常不包括编写容错代码的环节。在发现了程序错误后,才能够逐渐懂得如何预见、预防和处理各种错误。 与在编写功能代码阶段编写的容错代码相比, “补丁”程序往往是低质量的代码。 3.认识上的误区 委托者认为任务中隐含着编写错误处理代码的工作。 受期限限制,错误处理代码是“偷工减料”的第一牺牲品。 即使出现了错误,也是可以修复的。 5.1.2 实现全面容错的途径 1.尽早处理错误 出现错误后允许用户进行的每一步功能性操作,对用户而言都是在浪费时间和精力。 尽早处理错误的要诀是在编码过程中遵循下列规则: 预防所有可以预料和防止的错误。 处理所有可以预料但不能防止的错误。 捕获所有不能预料的的错误。 错误可以被分成两种类型:可以预料的和不可以预料的。 (1)预防错误。 (2)处理错误。当错误发生后,容错代码将智能性地按照某种逻辑对错误进行纠正,而不是简单地将控制引向错误发生前的位置。 (3)捕获错误。不可预料错误可能引起系统崩溃,或造成某种灾难性的后果。而捕获错误虽然不能对错误进行纠正,但是能恢复到某种状态。 从理论上讲,不存在不可预料的错误,只存在由于学识方面的原因而不能预料的错误。 5.1.2 实现全面容错的途径 2.随时编写错误处理代码 推迟处理错误往往会引发许多严重的后果。为程序“打补丁”时,程序员可能已经忘记了错误发生的原因和处理方法等方面的细节。更坏的情况是,当一个程序员为另一个程序员编写的程序“打补丁”时,还可能引入更多的错误。 当用户由于程序错误而请求支持时,会怀疑程序的健壮性,这无疑会影响开发者的形象和进一步合作的前景。 因此,在编写每一行功能性代码时,必须考虑是否需要容错以及如何容错。 5.1.3 提交友好的报错信息 可以将报错信息分为两类,一类为用户服务,另一类为开发者或系统支持者服务。最好不要让这两类信息出现在同一个消息中。 提供面向用户的错误信息时,应注意下列几点: 语言尽量通俗。 隐藏不必要的细节。 为不同的错误提供不同的描述。 尽量明确表达导致错误的原因。 提供面向开发者的错误信息时,应注意下列几点: 提供所有必须的信息,以便改正错误。 不应显示给用户。 5.2 错误种类与错误处理 5.2.1 错误种类 5.2.2 结构化错误处理 5.2.3. 非结构化错误处理 5.2.1 错误种类 一般而言,可以将程序中的错误分为3种; 1.语法错误 这类错误一般是由于编程者对程序语言的规范不甚熟悉或输入错误造成的。是一种出现概率相当高的错误,浏览器中会出现比较详细的报错信息,一般可以根据这些信息方便地排除错误。下面是一个包含语法错误的例子,其运行结果如图所示。 5.2.1 错误种类 2.逻辑错误 这类通常是由于编程者对语句功能理解有误或所设计的算法不正确造成的。是一种最难排除的错误。因为系统不会对此类错误给出任何报错信息,因此编程者很难找到问题所在。对于这类错误,需要进行调试,而不是编写容错代码。 3.运行期错误 这类错误出现于程序运行期间,通常是由于编程者考虑问题不够全面造成的。 产生错误的原因有许多种:程序需要使用的一些服务程序没有正常安装,会产生错误;程序中包含使用语法错误的代码会产生错误;程序的运行将系统引入窘境也会产生错误。 当错误发生时,可以采取某些措施来更正错误,也可以仅仅向用户提供一个友好的出错提示,甚至可以不对错误采取任何措施。如果选择什么都不做,至少在使用浏览器的时候,不会看到一个应用程序未处理错误时所发生的一切。 5.2.3. 非结构化错误处理 以非结构化的方式实现错误处理,是VB的传统方式。但需要指出的是,使用非结构化错误处理会降低应用程序性能并

文档评论(0)

youngyu0329 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档