![]() |
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:
Hier nun eine Try - Except Beispiel: (Fehler von mir Produziert in dem ich eine Falsche Datei
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. im LoadFromFile angebe:
Delphi-Quellcode:
Da die Datei natürlich nicht gefunden wird erfolgt eine Fehlermeldung und gleichzeitig wird die Fehlermeldung
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; 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:
und so sieht dann die Fehlermeldung aus:
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; siehe Anhang |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz