Delphi 异常处理

捕捉产生的异常,进行相应处理,否则程序将逐级向上返回直到该异常被捕获。

  1. Try ... Except ... End 语句
  2. Try ... Finally ... End 语句
  3. 定义及抛出异常

1、Try ... Except ... End 语句

捕获抛出的异常类, 运行相应的处理。

匹配条件: 当抛出的异常是指定的异常类型的子类时, 匹配成功, 因此应把层次较深的子类靠前放, 以达到精确匹配的目的

Exception 是最顶级的类,一般应放在最后一个判断。

Try

   statements  // 可能产生异常的代码

Except

   on 标识符1:异常类型1 do 处理段1

   on 标识符2:异常类型2 do 处理段2

   on e:myException    do showmessage(e.message);

   ...

   [Else

      其他处理]

End;

Try

   statements

Except

   对任何类型的异常都执行此处的代码

End;

2、Try ... Finally ... End 语句

无论是否发生异常,都保证执行指定代码(一般为内存释放等必须操作)。

try

   statements

finally

   确保执行的代码

end;

3、定义及抛出异常

可用程序产生异常,以实现特殊功能。

Type MyException=Class(Exception); // 继承异常类
Public
   Constructor Create(Const Msg:String); // 构造函数
End;

Raise MyException.Create("抛出异常!"); // 抛出异常