文件名称:异常对象-京东应用架构设计
文件大小:7.56MB
文件格式:PDF
更新时间:2024-06-30 04:57:21
Delphi 2010 语法
6.2 异常对象 在了解异常处理之前我们先来介绍异常对象。Delphi将异常封装成类,触发异常实际 上变成了创建特定类的对象并将这个对象提交给相关的的代码进行处理。这个对象中通常 含有一个字段用于描述异常产生的原因,如前面提到的文件不存在、系统错误等。还含有 一个字段用于描述异常标识符,利用这个标识符可以通过网络获悉异常的详细信息。其它 还定义了各种方法用于通知异常的各种信息。 想想为什么要将异常封装成对象?答案是提交一个包含多条信息的独立的对象要比提 交一大堆零散的信息方便得多,也直观得多。这就好比我们向某个人的信息交给其它人, 你是选择交付十几张零散的纸条还是一份档案袋?异常对象就相当于一份档案袋,其中蕴 含了很多具体的信息。 Delphi中所有的异常对象均继承自定义于 System单元中的 Exception 类。Exception 本身直接继承自 TObject类: Exception = class(TObject) private FMessage: string; FHelpContext: Integer; ...//其它成员省略 end; 其中的 FMessage 用于异常产生的信息,FHelpContext 用于描述异常的唯一标识符我们可 以从这个类派生我们自己的异常类。习惯上异常类以大写字母"E"开头。 Delphi的 SysUtils单元中定义了一些常见的异常类。基本上,这些异常类涵盖我们 日常编程所能遇到的绝大部分异常,所以一般情况下读者并不需要自己自定义异常类。 Delhphi在 SysUtils 单元中定义了大量的预定义异常类,Delphi的帮助文档中详细描 述了这些异常类,需要时查阅即可,在此我们不再赘述。 接下来我们简要介绍一下如何定义一个自己的异常类。 6.2.1 自定义异常类 虽然 VCL 提供的异常类基本能满足日常编程中的各个方面,但有时候相比这些预定义 异常类,我们更喜欢自己来定义异常类。 定义一个异常类也是非常之简单,我们只需要从预定义的 Exception 类派生即可,例 如下面的代码就定义了一个名为 EMyException 的异常类: type EMyException = class(Exception) end; 当然,您可随着需要在其中加入任意的成员,例如,可以在其中添加一个构造函数及一个 异常 ID: type EMyException = class(Exception) FMessage:Integer; Constructor Create(ID:Integer); end;