我要求Delphi原生,而不是Prism(网络)。
这是我的代码:
raise Exception.Create('some test');
未声明的标识符“例外”。
问题出在哪里,如何抛出/引发异常?
答案 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宣布了例外情况。