AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Konzeptfrage: abgeleitete Exception-Klasse, die automatisch loggt
Thema durchsuchen
Ansicht
Themen-Optionen

Konzeptfrage: abgeleitete Exception-Klasse, die automatisch loggt

Ein Thema von s.h.a.r.k · begonnen am 9. Dez 2010 · letzter Beitrag vom 4. Jan 2011
 
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#11

AW: Konzeptfrage: abgeleitete Exception-Klasse, die automatisch loggt

  Alt 10. Dez 2010, 15:54
Ich habe den Thread nicht weiter durchgelesen und kann auch nicht viel schreiben, da ich weg muss. Falls ich also doch das Thema verfehlen sollte oder es schon gesagt wurde: Sry!

Schau dir die globale Variable RaiseExceptObjProc der Unit System an. Diese zeigt standardmäßig auf Die Funktion RaiseExceptObject der Unit SysUtils. Schreibe deine eigene Funktion dafür, weise sie zu und ruf die alte Methode ebenfalls auf.
Ob das alles so schön und zuverlässig geht weiß ich nicht, hab's nie getestet. Aber einen Versuch ist es wohl wert.

Der Konstruktor einer Exception ist ungeeignet zum loggen. Denn nur weil eine Exception, die ja ein normales Delphi-Objekt ist, erzeugt wird, muss sie noch lange nicht ausgeworfen werden. In dem Fall hilft die virtuelle Methode RaisingException der Klasse Exception.

Für einen Stacktrace kann man die Unit JclDebug der JEDIs nutzen. Nutze ich selbst für meine abgeleiteten Exceptions (mit "nested" Funktionalität) und Fehlerberichte, klappt soweit ganz gut.

PS: Das loggen von Fehlern steht auch schon lange auf meiner Todo-Liste


Schönes Wochenende euch allen

Edit:
So, jetzt habe ich Zeit. Ich wollte noch erwähnen, dass man Application.OnException und anderen Events von Application NICHTS zuweisen sollte! Dafür ist die Komponente TApplicationEvents (oder irgendwie so heißt sie) da.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.

Geändert von Deep-Sea (11. Dez 2010 um 11:59 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:12 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