Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: Exception in Basis-Klasse abfangen?

  Alt 13. Feb 2008, 13:23
Das von jottkaerr beschriebene Template-Muster ist trotzdem die richtige Lösung !!
Für jede Methode gibt es in der Basisklasse einen offiziellen Einstieg und eine virtuelle protected Methode.

Beispiel:

Delphi-Quellcode:
TBase = class(TObject)
  protected
    procedure InternalSaveToFile(const filename:string); virtual; abstract;

  public
    procedure SaveToFile(const filename:string); // die offizielle Methode
end;


procedure TBase.SaveToFile(const filename:string);
begin
  try
    InternalSaveToFile(filename);
  except
    on E:Exception do
    begin
      E.Message:='Fehler beim speichern in Datei <'+filename+'<';
      raise;
    end;
end;
Wenn man sich den Sourcecode von DB.pas und die Basisklasse TDataset anschaut, sieht man, dass Borland
auch das Template-Muster verwendet.
Für jede der wichtigen Methoden Open, close; Edit, Insert, Post,... existiert eine InternalXXXXX Methode.
Andreas
  Mit Zitat antworten Zitat