- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Delphi异常处理实现方法
基于Delphi异常处理实现方法
【摘 要】本文重点介绍了Delphi对异常处理的机制;针对程序运行过程中产生的异常情况,运用Delphi开发工具并结合实例介绍了异常处理机制在程序设计中对异常处理的实现方法。
【关键词】Delphi;异常处理;保护块;异常类
0 引言
软件无论在测试中,还是常规运行时,都不可避免会发生由于软件设计、编码或操作人员非法操作,或者是数据库、网络线路等软硬件错误而引发应用程序异常。在Delphi的集成开发环境(IDE)中提供了一个完善的内置调试器,可以帮助你发现大部分程序错误。但并不是所有的错误都可以被发现,而且当程序涉及到与外设的数据交换或操作外设,如要求用户输入、读写磁盘等时,错误的发生是程序无法控制的,如输入非法字符、磁盘不能读写等。这些情况不仅回导致应用程序异常终止而且可能引起系统的崩溃。针对这些问题,Delphi同时提供了一套强大的异常处理机制。巧妙地利用它,可以使你的程序更为强健,使用更为友好。现本人结合实际,详细讨论Delphi中异常处理及其实现方法。
1 Delphi异常处理机制
Delphi异常处理机制建立在保护块(Protected Blocks)的概念上。所谓保护块是用保留字try和end封装的一段代码。保护块的作用是当应用程序发生错误时自动创建一个相应的异常类(Exception)。程序可以捕获并处理这个异常类,以确保程序的正常结束以及资源的释放和数据不受破坏。如果程序不进行处理,则系统会自动提供一个消息框,告诉用户用处产生的原因,并终止程序的执行。
1.1 异常类
异常类是Delphi异常处理机制的核心,也是Delphi异常处理的主要特色。Delphi通过异常类Exception来实现异常处理机制。Exception类是其它所有异常类的基类,其它异常类均是Exception类的子类。Exception类定义在单元SysUtil中,定义如下(对于不常用的成员没有列出):
{SysUtil单元中}
Exception=class(Tobject)
Private
Fmessage:Pstring;
FhelpContext:Longint;
Function GetMessage:String;
Procedure SetMessage(const Value;String);
Public
constructor Create(const Msg: String);
constructor CreateFmt(const Msg: String; const Args:array of const);
…
destructor Destroy;override;
property HelpContext:Longint;
property Message:String;
property MessagePrt:Pstring;
end;
当然,用户也可以象定义其它类一样来定义自己的异常类。例如:type EmyException=Class(Exception);这样用户就定义了一个异常类。
1.2 Delphi异常处理
Delphi为每个应用程序提供了一个默认的异常处理程序处理异常,大多数异常是不明确异常,这样的处理可能并不符合用户的要求,因此Delphi提供了按照自己的需要进行异常处理的机制,即用try和end封装一段程序代码。其格式为:
try //try保护代码块
被保护语句
except //异常处理块
异常处理语句 //异常不发生,不处理
end;
或
try //try保护代码块
被保护语句
except //异常处理块
on do //捕获指定类型的异常对象,进行处理
on do //捕获指定类型的异常对象,进行处理
else
//缺省的异常处理代码
end;
例如用try-except语句处理被0除情况:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c:real;
begin
b:=strtofloat(edit1.Text);
c:=strtofloat(edit2.Text);
try
a:=b /c;
edit3.Text:=floattostr(a);
except
edit3.Text:=‘不能用0除’;
end;
end;
1.3 Delphi异
您可能关注的文档
最近下载
- LittleSwan小天鹅TB36V81H 波轮全自动洗衣机 巴赫银 门盖巴赫银 波轮式 220V,1Ph 50Hz.pdf
- 广东梅州抽水蓄能电站二期环境影响报告书(送审稿).doc
- 第一讲:形势与政策课件.ppt VIP
- 大型轧辊激光毛化及表面强化成套系统项目建议书.pdf
- 林和靖意象在日本文化中的流播和变异___以汉诗文为中心.pdf
- 阳光棚光伏支架结构计算书.pdf
- Project 2 Our friends(教案)-2021-2022学年英语五年级上册 .docx
- 气测录井资料解释与应用详细课件.ppt VIP
- 气测录井资料解释与应用详细课件.pptx VIP
- 旧建筑再利用的计手法及相关问题探讨——以博览类建筑为例.pdf
文档评论(0)