02 Stimmen

Delphi: Globale Behandlung von Fehlermeldungen (Exceptions)

Tutorial von Delphianer | 13.08.2012 um 12:33

Exceptions lassen sich in Delphi einfach mit der Hilfe von Try-Except-Blöcken abfangen und behandeln. Passiert in dem folgenden Code ein Fehler zwischen Try und Except, wird der Code hinter dem Except ausgeführt und wir können verhindern, dass der Nutzer eine Fehlermeldung angezeigt bekommt:

try
   //Code
except
   on E:Exception do begin 
     //wird im Falle eines Fehlers ausgeführt
   end; 
end;

Wünscht man sich allerdings eine globale Fehlerbehandlung aller Exceptions, die irgendwo im Programm vorkommen, stößt Try-Except schnell an seine Grenzen. Schließlich wäre es zu umständlich, um jeden Code des Programms ein Try-Except-Block zu schreiben. Aus diesem Grund möchte ich euch in diesem Tutorial zeigen, wie ihr alle Fehler, die im Programm geschehen in einer Prozedur abfangen könnt, um die Fehler dort zu behandeln.

Globale Fehlerbehandlung

Wir nennen unsere Prozedur GlobalExceptionHandler und deklarieren sie wie folgt unter "public":

public
  procedure GlobalExceptionHandler(Sender: TObject; E: Exception);

Unser Anwendung kennt das Ereignis "OnException", das bei einer Exception ausgelöst wird. Wir möchten, dieses Ereignis mit unserer Prozedur überschreiben und schreiben daher in das OnCreate:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnException := GlobalExceptionHandler;
end;

Schließlich müssen wir unsere Prozedur GlobalExceptionHandler noch definieren:

procedure TForm1.GlobalExceptionHandler(Sender: TObject; E: Exception);
begin
  //das passiert, wenn ein Fehler auftritt
end;

Diese Prozedur wird nun aufgerufen, wenn irgendwo in unserem Programm ein Fehler auftritt. Innerhalb der Prozedur können wir noch weitere Informationen über den Fehler sammeln. In E.ClassName steht zum Beispiel die Art der Exception, in E.Message die Fehlermeldung. Damit lässt sich für jede Fehlerart ein anderer Vorgang definieren oder wir können einfach E.ClassName und E.Message in eine Datei schreiben und speichern.

AntwortenPositivNegativ

Über den Autor

AvatarDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen

 

Ähnliche Themen

Delphi: Dateien verstecken

Frage | 2 Antworten

Delphi: Passwort Edit

Tipp | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.