AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein post mortem Dump // Feststellen: Ist Exception abgefangen?
Thema durchsuchen
Ansicht
Themen-Optionen

post mortem Dump // Feststellen: Ist Exception abgefangen?

Ein Thema von QuickAndDirty · begonnen am 28. Nov 2006 · letzter Beitrag vom 29. Nov 2006
Antwort Antwort
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#1

post mortem Dump // Feststellen: Ist Exception abgefangen?

  Alt 28. Nov 2006, 17:57
Mir geht es darum Fest zu stellen ob eine
Selbstdefinierte Exception auf dem Bildschirm ausgegeben wird.

Diese Exception Klasse hat die Aufgabe einen Postmortem dump zu erstellen
und diesen dann Abzuspeichern wenn Sie nicht abgefangen wird.

Bisher fällt mir nur ein Großes Try except um das ganze Projekt zu bauen um
dann in On E:EMeineException do
den Dump zu Speichern
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: post mortem Dump // Feststellen: Ist Exception abgefange

  Alt 28. Nov 2006, 18:08
Ich kann dir da auch empfehlen dich direkt in die Fehlerbehandlung einzuschleifen:

Als Variablen für die Fehlerbehandlung wären da z.B. folgende zu nennen:
Code:
System.ExceptProc
System.ErrorProc
[s]System.ExceptionClass[/s]
System.ExceptClsProc
System.ExceptObjProc
System.RaiseExceptionProc
System.RTLUnwindProc
System.SafeCallErrorProc
System.AssertErrorProc
[edit]
System.ExceptionClass wird nur für den Zugriff auf den Inhalt eines ExceptionObjects verwendet, ob die Exeption nach dem erstellen eines ExceptionObjects auch ausgelöst (nicht behandelt) wird, ist davon unabhängig.

> siehe EOutOfMemory, davon wird immer eine Instanz erstellt, aber offentlich nie verwendet.

[add]
ein Exept-Block um alles wird wohl eh nichts bringen, da dir eventuell untergeordnete Exept-Blöcke das abfangen könnten.

Delphi-Quellcode:
Try
  Try
    Raise EMeineException.Create(...
  Except
    // wird hier abgefangen
  End;
Except
  // hier wird nie was ankommen
End;
$2B or not $2B
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#3

Re: post mortem Dump // Feststellen: Ist Exception abgefange

  Alt 29. Nov 2006, 00:26
Es geht mir ja speziell um unbehandelte Effekte.
bei behandelten Exceptions muss nichts gedumpt werden.
Diesen einen Exception typ reraise ich immer wenn ich ihn abfange und
hänge eine weitere den Ort der Exception bestimmende Information an
so das ich mich am Stack entlang hangele.
Problem ist einfach das ich einen Fehler beheben muss der bei uns
nicht Auftritt beim kunden aber schon....und ich kann einfach nicht
wissen wo. Leider kann man den Effekt auch nicht provozieren es scheint
Zufall zu sein.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
thomasw

Registriert seit: 3. Dez 2005
36 Beiträge
 
#4

Re: post mortem Dump // Feststellen: Ist Exception abgefange

  Alt 29. Nov 2006, 07:25
MSDN-Library durchsuchenSetUnhandledExceptionFilter
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#5

Re: post mortem Dump // Feststellen: Ist Exception abgefange

  Alt 29. Nov 2006, 09:26
@Thomas:
bis jetzt hört es sich ganz gut an.
ich werds ausprobieren sobald ich vom telefon wegkomme
und dann bescheid geben.

Wenn jemand noch andere Vorschläge hat, bitte ich darum
diese zu posten.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:13 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