Geschrieben von diablo75 am 30.06.2005, 11:38

Anleitung für Error-Handling
Hier ein kleines Beispiel wie man eine Fehlermeldung in eine
Textdatei speichert (z.B für Support).

Vorerst mal die Klasse: (befindet sich bei mir in eigenen Unit --> daher immer mit einbinden)

unit Errorhandling;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, Menus, ComCtrls, StdCtrls;

type Fehlerbehandlung =class(TObject)
public

Procedure Fehler(Sender: TObject; E: Exception);

end;
implementation


Procedure Fehlerbehandlung.Fehler(Sender: TObject; E: Exception);
var s1: TStringList;
var s: String;
begin

s := ExtractFilePath(Application.ExeName)+ \'fehler.txt\';
s1:= TStringList.Create;
try
if FileExists(s)
then s1.LoadFromFile(s);
s1.Add(FormatDateTime(\'dd.mm.yyy hh.mm.ss\', now));
s1.Add(E.Message);
s1.SavetoFile(s);
finally
s1.Free; end;
Application.ShowException(E);
end;

end.

Hier nun eine Try - Except Beispiel: (Fehler von mir Produziert in dem ich eine Falsche Datei
im LoadFromFile angebe:


procedure TForm1.TabSheet2Enter(Sender: TObject);
begin

try
Combobox1.Items.LoadFromFile(\'dat/Tite.dat\'); //Orginal: Titel.dat
except
on E: Exception
do
Allg_Fehler.Fehler(Sender,e); end;

end;

Da die Datei natürlich nicht gefunden wird erfolgt eine Fehlermeldung und gleichzeitig wird
die Fehlermeldung in einer Textdatei gespeichert diese sieht so aus:

01.12.2004 14.17.44 Datei C:\\MaklerDatenbank\\dat\\Tite.dat kann nicht geöffnet werden.
Das System kann die angegebene Datei nicht finden
Das ganze ist auch noch mit folgenden Zusatz möglich sein, das die Zeilennummer erscheint in welcher
der Fehler endstanden ist.

Hier das Beispiel:

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin

try
i:= StrToInt(Edit1.text);
Label1.Caption:= intToStr(i*2); except
on E: Exception
do Assert(false,e.Message); end;

end;

Bewertung Anzahl
5
100,0 %
1 Bewertungen