Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   Delphi Errorhandling Try - Except in txt Datei speichern (https://www.delphipraxis.net/35009-errorhandling-try-except-txt-datei-speichern.html)

Schuster 1. Dez 2004 13:43


Errorhandling Try - Except in txt Datei speichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
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)

Delphi-Quellcode:
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:

Delphi-Quellcode:
procedure TForm1.TabSheet2Enter(Sender: TObject);
begin
    try
      CmbKdnAnlegenTitel.Items.LoadFromFile('dat/Tite.dat');   //Orginal: Titel.dat
      CmbKundenanlegenStaatsb.Items.LoadFromFile('dat/Staatsbuergerschaft.dat');
      Cmb_KAnl_Betreuer.Items.LoadFromFile('dat\Betreuer.dat');
      CmbKundenanlegenFamStand.Items.LoadFromFile('dat\FamStand.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:

Delphi-Quellcode:
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;
und so sieht dann die Fehlermeldung aus:
siehe Anhang


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz