Je demande Delphi natif, pas Prism (net).
Voici mon code:
raise Exception.Create('some test');
Identifiant non déclaré "Exception".
Où est le problème, comment lancer/lever des exceptions?
La classe d'exception "Exception" est déclarée dans l'unité SysUtils. Vous devez donc ajouter "SysUtils" à votre clause uses.
uses
SysUtils;
procedure RaiseMyException;
begin
raise Exception.Create('Hallo World!');
end;
N'oubliez pas d'ajouter SYSUTILS à vos unités d'utilisation.
Je vous suggère également une belle façon de garder une trace des catégories, des formats de messages et de la signification de l'exception:
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
Une manière simple d'utiliser ceci est:
TMyException.RaiseError1(123);
Vous devrez peut-être ajouter des sysutils à la clause uses, elle n'est pas intégrée et est facultative selon Delphi en bref.
Vous utilisez SysUtils, n'est-ce pas? Une exception y est déclarée IIRC.