- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章 Delphi异常处理与调试
第7章 Delphi异常处理与调试 7.1 Delphi异常处理 7.2 Delphi异常类 7.3 Delphi异常处理机制 7.4 Delphi调试器 7.5 控制程序的运行 7.6 断点 7.7 监视表达式的值 7.8 实验 7.1 Delphi异常处理 7.1.1 异常处理的意义 异常可以理解为一种特殊的事件。当这种特殊的事件发生时,程序正常的执行流程将被打断。异常处理机制能够确保在发生异常的情况下应用程序不会中止运行,也不会丢失数据或资源。 没有人能保证程序代码绝对不出错。有时候,即使程序本身没有错,但与程序打交道的软、硬件设备出错,也会使程序出现异常。引起异常的设备称为“异常源”,包括操作系统、设备驱动程序、数据库驱动程序(诸如BDE、SQL Links、ODBC、ADO)、动态链接库、常驻内存的防病毒软件、Delphi自身的组件库和运行期库等。 异常几乎是不可避免的。过去,在没有异常处理机制的情况下,程序员不得不小心翼翼地检查每一次函数调用的返回值,或者通过额外的代码捕获可能的错误。 关键是,通过检查函数的返回值或设置错误陷阱只能捕获可预见的错误。如果发生没有预见到的错误,或者函数调用本身就已失败,则程序正常的流程将被打乱。 还有一个问题就是,程序中过多的错误检查代码也破坏了程序的可读性。事实上,这些代码大都是闲置的,因为程序中到处发生异常的可能性毕竟不是很大。 使用Object Pascal语言的异常处理机制,就能解决上述弊端。它既能使程序的安全性得到保证,又不至于使程序代码过分琐碎。下面先看一段没有采用异常处理机制的代码: var AChar,AString:ShortString; begin AString:=Welcome to Delphi; AChar:=Copy(AString,20,1); if AChar#0 then // #0是空字符,不是空格 begin if AChar! then Insert(AChar,AString,20); Exit; end; end; 在上述代码中,虽然检查了Copy()的返回值,但如果Copy()本身调用失败,则程序就执行不到Exit语句。下面改用异常处理机制来编写这段代码。 var AChar,Astring:ShortString; begin try AString:=Welcome to Delphi; AChar:=Copy(Astring,20,1); if AChar! then Insert(AChar,AString,20); except Exit; end; End; 采用了异常处理机制后,可以先假设程序不可能出错,按正常的顺序编写代码。当代码在运行过程中出现异常时,将跳转到except部分,执行Exit语句。 异常处理机制有两种结构:一种是try…except结构,另一种是try…finally结构,这两种结构在用法上有很大的区别。 7.1.2 错误类型 一般来说,无论在编程的时候如何仔细,程序总会有错误。错误分为4种类型:设计期错误、编译期错误、运行期错误、逻辑错误。 1. 设计期错误 这种错误类型发生在设计期,通常是因为给组件的某个属性输入了非法的值。例如,在设计数据库应用程序时指定了一个没有定义的数据库别名。 这种类型的错误比较容易被发现和纠正,因为Delphi能够对属性的值进行合法性检查。一旦发现这种错误,Delphi将弹出一个警告窗口,提示用户纠正错误。 2. 编译期错误 编译期错误也叫语法错误,当程序代码违反了Object Pascal的语法规则时将发生这种错误。 如果程序代码中有语法错误,编译就不能通过,代码编辑器的状态栏将给出错误信息提示,并在代码编辑器中突出显示有语法错误的行。 比较常见的语法错误是数据类型不匹配,特别是调用RTL、VCL或Windows的API时容易发生参数不匹配的错误。为了避免这类错误,建议使用Delphi的在线帮助,找到RTL、VCL或API的声明,仔细对照它们的参数。不小心输错变量名或命令语句拼写错误也是经常造成编译期错误的原因。 编译器检查语法错误的功能是可以自定义的。可以使用【Project】菜单中的【Options】命令打开【Project Options】对话框,然后设置编译器的语法检查选项。 3. 运行期错误 程序虽然通过了编译,但在运行时失败了,这种错误称为运行期错误。例如,程序试图打开一个不存在的文件,或者在运算时出现了被零除。 运
您可能关注的文档
最近下载
- 《城市轨道交通工程设计概算编制办法》(建标[2017]89号).pdf
- 建设工程技术支持方案(3篇).docx VIP
- 饲料企业生产成本控制.ppt VIP
- 首航加油加气站LNG加气项目职业病防护设施设计专篇资料性附件.pdf VIP
- 截渗墙工程施工方案(3篇).docx
- 数据资产入表全流程指南(92页 PPT).pptx VIP
- 新项目方法验证能力确认报告(固定污染源废气-烟气参数的测定HJT-397-2007).docx VIP
- 外国影视音乐 星球大战 课件高中音乐人音版(2019)必修 音乐鉴赏.pptx VIP
- 部编版八年级语文上册古诗文理解性默写练习.docx VIP
- 时间管理写ppt关于时间管理 内容.ppt VIP
有哪些信誉好的足球投注网站


文档评论(0)