Delphi软件开发技术P3.pptVIP

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

第3章Delphi异常处理与调试 利用Delphi的内置调试器,可以帮助你发现大部分程序错误。但并不是所有的错误都可以被发现, 为了保证应用程序可靠运行,应用程序必须对各种不正常的事件进行处理。 Delphi为此提供了一套强大的异常处理机制。巧妙地利用它,可以使程序更为强健,使用更为友好。 3.1???? Delphi异常处理 3.2???? Delphi异常类 3.3???? Delphi异常处理机制 3.4 Delphi调试器 3.5???? 控制程序的运行 3.6?????断 点 3.7?????监视表达式的值 3.8 调试的有关窗口 3.9 特殊程序调试* 3.1 Delphi异常处理 3.1.1 异常处理的意义 所谓异常,可以理解为一种特殊的事件。当这种特殊的事件发生时,程序正常的执行流程将被打断。 异常处理机制能够确保在发生异常的情况下应用程序不会中止运行,也不会丢失数据或资源。 Object Pascal定义了大量的异常处理对象,使应用程序几乎能够处理所有的异常情况,并且对异常处理的语法作了简化。 没有人能保证程序代码绝对不出错。有时候,即使程序本身没有错,但与程序打交道的软硬件设备出错,也会使程序出现异常。 引起异常的设备称为“异常源”,包括操作系统、设备驱动程序、数据库驱动程序、动态链接库、常驻内存的防病毒软件、Delphi自身的组件库和运行期库等。 异常几乎是不可避免的。过去,在没有异常处理机制的情况下,程序员不得不小心翼翼地检查每一次函数调用的返回值,或者通过额外的代码捕获可能的错误。 采用了异常处理机制后,可以先假设程序不可能出错,按正常的顺序写代码。当代码在运行过程中出现异常时,将跳转到except部分,执行Exit。 3.1.2 错误类型 无论在编程的时候如何仔细,程序总会有错误。 错误分为四种类型: 设计期错误、 编译期错误、 运行期错误、 逻 辑错误。 1.设计期错误 这种错误类型发生在设计期,通常是因为给组件的某个属性输入了非法的值。 例如,在设计数据库应用程序时指定了一个没有定义的数据库别名。 这种类型的错误比较容易被发现和纠正,因为Delphi能够对属性的值进行合法性检查。 一旦发现这种错误,Delphi将弹出一个警告窗口,提示你纠正错误。 2.编译期错误 编译期错误也叫语法错误,当程序代码违反了Object Pascal的语法规则时将发生这种错误。 如果程序代码中有语法错误,编译就不能通过,代码编辑器的状态栏将给出错误信息提示,并在代码编辑器中突出显示有语法错误的行。 3.运行期错误 程序虽然通过了编译,但在运行时失败了,这种错误称为运行期错误。 运行期错误分两种情况,一种是运行时随运行异常环境或用户输入的错误参数而造成运行错误, 这种情况的“错误”往往无法在交付前通过调试排除,而通常由“异常处理”来解决。 另一种是不随环境和参数变化都会产生的运行错误,这种情况下,如果不能确认错误发生在什么地方,可以使用Delphi的内部集成调试器帮助你找到错误所在。 例如,可以通过单步执行命令让程序一条语句一条语句地执行,或者通过一个观察窗口来监视某个变量的变化情况。 4.逻辑错误 逻辑错误是指程序通过了编译,也能执行,但执行的结果与预期的不同。 逻辑错误有时比较难找,因为编译器无法识别这种错误。 此时,需要用内部集成调试器,通过控制程序的运行以及监视程序的输出,来把错误逐步定位在一个较小的范围内。 怎样尽可能地减少错误 虽然错误是很难避免的,但好的编程习惯能够尽可能地减少错误。建议: (1) 程序应尽可能地模块化 程序分解为模块后,由于每个模块所要完成的任务相对简单了,所以发生错误的可能也就减少了。模块化还简化了程序的维护。 (2) 养成良好的代码书写习惯 注释能够增加代码的可读性,方便维护和修改。缩进能够使程序的语法结构更加清晰。 (3) 不要忘记检查参数的值 在函数内部,首先要检查传递过来的参数值是否合法,是否在一个可接受的范围内。 (4) 不要忘记检查函数的返回值 函数的返回值往往表示函数调用是否成功,以此决定下面的程序流程。如果贸然执行下一步,有可能会出现意想不到的结果。 3.2 Delp

文档评论(0)

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

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

1亿VIP精品文档

相关文档