第7章程序异常处理与调试技术PPT讲稿.ppt
《第7章程序异常处理与调试技术PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第7章程序异常处理与调试技术PPT讲稿.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 程序异常处理与调试技术第1页,共17页,编辑于2022年,星期一第第7章章 程序异常处理与调试技术程序异常处理与调试技术 7.17.17.17.1 异常异常异常异常处处处处理理理理 7.1.1 7.1.1 7.1.1 7.1.1 使用使用使用使用Try-ExceptTry-ExceptTry-ExceptTry-Except语语语语句句句句处处处处理异常理异常理异常理异常 7.1.2 Try_Finally 7.1.2 Try_Finally 7.1.2 Try_Finally 7.1.2 Try_Finally 结结结结构构构构 7.1.3 7.1.3 7.1.3 7.1.3 异常基
2、类及其属性和主要方法异常基类及其属性和主要方法异常基类及其属性和主要方法异常基类及其属性和主要方法 7.1.4 Raise 7.1.4 Raise 7.1.4 Raise 7.1.4 Raise语句和异常处理的重引发语句和异常处理的重引发语句和异常处理的重引发语句和异常处理的重引发 7.27.27.27.2 程序程序程序程序调试调试调试调试 7.2.1 7.2.1 7.2.1 7.2.1 调试调试调试调试的准的准的准的准备备备备 7.2.2 7.2.2 7.2.2 7.2.2控制程序的控制程序的控制程序的控制程序的执执执执行行行行 7.2.3 7.2.3 7.2.3 7.2.3 使用断点使用断
3、点使用断点使用断点 7.3.4 7.3.4 7.3.4 7.3.4 监视监视监视监视数据的数据的数据的数据的值值值值 小结小结小结小结第2页,共17页,编辑于2022年,星期一第第7 7章章 程序异常处理与调试技术程序异常处理与调试技术 在Delphi中有两种程序错误,一种是编译错误,在程序编辑阶段就可以由编译器发现并给出提示。另外一种是运行错误,这类错误不能在编译阶段查出,只能在程序执行时发现,称为运行错误。Delphi提供了一种机制来处理运行错误,保护程序的正常执行,这种机制就是异常处理。异常处理的方法是把正常的执行程序同错误的处理程序分离开来,这样可以保证在没有错误时,程序正常执行,当发
4、生错误时,执行错误处理部分的程序,然后程序跳出保护模块,继续执行后续的程序。7.1 7.1 异常处理异常处理 对于在应用程序中经常产生的异常,Delphi都进行了定义。如在SysUtils单元中定义了类型转换异常(EConvertError),数学异常(EMathError),输入输出异常(EInOutError)等;在ComCtrl单元定义了日期异常(EDateTimeError),在Db单元中定义了数据库异常(EDatabaseError),等。因此只需在单元中引用这些系统库单元就可以处理这些异常 第3页,共17页,编辑于2022年,星期一7.1.1 7.1.1 使用使用Try-Excep
5、tTry-Except语句处理异常语句处理异常 Try_Except 的一般结构为:TryTry/需要进行异常检测的语句序列 ExceptExcept /发生异常时的错误处理模块 End;End;/异常定义结束数学异常类在系统的数学异常类在系统的SysUtilsSysUtils中声明,其定义形式为:中声明,其定义形式为:typetype EMathError=class(Exception);/由Exception类派生,是所有浮点数据错误的基类 EInvalidOp=class(MathError);/无效的操作的指令 EZeroDivide=class(MathError);/被零除 EO
6、verflow=class(MathError);/浮点数操作上溢 EUnderflow=class(MathError);/浮点数操作下溢 EinvalidArgument=class(MathError);/无效的参数End;End;第4页,共17页,编辑于2022年,星期一一般有三种处理方式:1不管发生什么异常,使用统一的错误处理方式 TryTry /需要检测的语句,例如可以是 X:=Y/Z ExceptExcept HandleALLException;End;End;2某些异常使用特殊的处理方式,而其余的异常使用统一的处理方式。对于一些可以预测的错误,使用更为详细的处理方式。例如:T
7、ry Except On EZeroDivide Do HandleZeroDivideError /处理被零除错误 On EOverflow Do HandleOverflowError /处理溢出错误 On EMathError Do HandleMathError /处理其他数学异常 Else HandleAllOtherError /前面没有被处理的异常则由该程序负责处理 End;第5页,共17页,编辑于2022年,星期一 3只检测某些错误异常,不管其他的异常情况。7.1.2 Try_Finally 7.1.2 Try_Finally 结构结构Try_Fianally 的一般结构为:T
8、ryTry /需要保护的程序语句序列FinallFinally /一定执行的语句序列 End;End;例如打开一个文件并进行处理,在处理完成后必须关闭文件。则可以使用类似下面的结构。VarVar TxtFile:TextFile;/定义文本文件变量存放打开的文件名字 Begin Begin IfIf(OpenDialog1.Execute)Then /Then /使用文件打开对话框 BeginBegin TryTry AssignFile(TxtFile,OpenDialog1.FileName);/打开新选择的文件 Append(TxtFile);/设置文件为追加方式 第6页,共17页,编辑
9、于2022年,星期一 Writeln(TxtFile,异常检测的例子);/向文件中添加一行文本 Flush(TxtFile);/保证新内容写入文件 finallyfinally CloseFile(TxtFile);/关闭打开的文件end;end;end;end;end;end;7.1.3 异常基类及其属性和主要方法 在Delphi中,所有异常的基类是Exception类。该类是所有其他异常类的祖先,即所有其他的异常类都是由该类派生而来。例如前面的EmathError类即是由该类派生而来。1xception属性(1)Exception.HelpContext属性(2)Exception.Mes
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 程序异常处理与调试技术PPT讲稿 程序 异常 处理 调试 技术 PPT 讲稿
限制150内