![]() |
Fehlerbehandlung - global abfangen
Hallo Leute,
für die allgemeine Fehlerbehandlung nicht vorhersehbarer und unerwarteter Fehler habe ich folgende Prozedur eingebunden:
Code:
Damit habe ich zwar schon ein paar mehr Informationen und vermeide einen Absturz, aber nicht jede Fehlermeldung ist sonderlich hilfreich, insbesondere wenn das Programm schon eine Weile fehlerfrei lief. Z.B. erhielt der Anwender
procedure TFAllgUP2.ExceptHandler(Sender: TObject; e: exception);
const hdinfo1 = 'Bitte wenden Sie sich mit dieser Fehlerbeschreibung an den Programm-Entwickler'; CRLF = chr($0A)+chr($0D); var s : string; begin if assigned(Sender) then s := 'In der Klasse ' + Sender.ClassName + ' ist der folgende Fehler aufgetreten:' + CRLF + CRLF else s := ''; s := s + e.ClassName + CRLF + CRLF + e.Message + CRLF + CRLF + hdinfo1 + CRLF + CRLF + 'Der Abbruch des Progamms wird empfohlen!' + CRLF + 'Wollen Sie der Empfehlung folgen und das Programm abbrechen?' ; if MessageDlg(s, mtError, [mbYes, mbNo], 0 ) = mrYes then Application.Terminate; end; procedure TFKasse.FormCreate(Sender: TObject); begin application.OnException := FAllgUP2.ExceptHandler; //..... end; In der Klasse TPanel ist folgender Fehler aufgetreten: EDatabaseError TabAdr: Operation bei geschlossener Datenmenge nicht ausführbar Gibt es eine Möglichkeit, während der Laufzeit festzustellen, an welcher Stelle im Programm der Fehler aufgetreten ist? (z.B. Fehler in FMain Zeile 2136 lokalisiert) mfg eddy |
Ein Artikel von mir bei Delphi3000.com erklärt die Möglichkeit:
![]() Komponente zum Download: ![]() Voraussetzung: Du musst im Projekt-Dialog die Mapping File-Erstellung beim Kompilieren aktivieren und diese mit dem Programm an den Kunden weitergeben. Die Kompo ist nicht perfekt, aber erledigt den Job. ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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