Как поднимать вопрос об исключениях в Дельфах?

Я и #39; я прошу Дельфи родной, а не Призма(сеть).

Это мой код:

raise Exception.Create('some test');

Неоформленный идентификатор " Исключение ".

Где' проблема в том, как бросить/поднять исключения?

Решение

Класс исключения "Исключение " объявлен в единице SysUtils. Поэтому необходимо добавить "SysUtils" в вашу функцию use-clause.

uses
  SysUtils;

procedure RaiseMyException;
begin
  raise Exception.Create('Hallo World!');
end;
Комментарии (3)

Не забудьте добавить 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);
Комментарии (3)

Возможно, вам понадобится добавить слоги в пункт use, он не встроен и является необязательным в соответствии с Delphi в краткой раскладке.

Комментарии (0)

Вы используете SysUtils isn&#39, не так ли? Исключение объявлено в IIRC.

Комментарии (0)