如何在Delphi中引发异常?

时间:2009-07-13 10:08:33

标签: delphi exception

我要求Delphi原生,而不是Prism(网络)。

这是我的代码:

raise Exception.Create('some test');

未声明的标识符“例外”。

问题出在哪里,如何抛出/引发异常?

4 个答案:

答案 0 :(得分:65)

异常类“Exception”在单元SysUtils中声明。因此,您必须在您的uses子句中添加“SysUtils”。

uses
  SysUtils;

procedure RaiseMyException;
begin
  raise Exception.Create('Hallo World!');
end;

答案 1 :(得分:10)

请记住将SYSUTILS添加到您的使用单位。

我还建议你一个很好的方法来跟踪类别,消息格式和异常的含义:

Type TMyException=class
public
  class procedure RaiseError1(param:integer);
  class procedure RaiseError2(param1,param2:integer);
  class procedure RaiseError3(param:string);
end;

implementation

class procedure TMyException.RaiseError1(param:integer);
begin
  raise Exception.create(format('This is an exception with param %d',[param]));
end;

//declare here other RaiseErrorX

使用它的一种简单方法是:

TMyException.RaiseError1(123);

答案 2 :(得分:7)

您可能需要将sysutils添加到uses子句中,它不是内置的,并且根据Delphi简而言之是可选的。

答案 3 :(得分:5)

你正在使用SysUtils不是吗? IIRC宣布了例外情况。