AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge JCLDebug - Festestellen ob in try-except
Thema durchsuchen
Ansicht
Themen-Optionen

JCLDebug - Festestellen ob in try-except

Ein Thema von SirThornberry · begonnen am 19. Apr 2011 · letzter Beitrag vom 20. Apr 2011
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

JCLDebug - Festestellen ob in try-except

  Alt 19. Apr 2011, 17:27
Hallo,

bei JCLDebug kann man mit JclAddExceptNotifier eine Procedure registrieren welche im Fall einer Exception aufgerufen wird.
Kann man irgendwie innerhalb der registrierten Funktion feststellen ob die Exception innerhalb eines Try-Except blockes stand?
Hintergrund ist dass, das loggen des Fehlers keinen Sinn macht wenn der Fehler bewusst abgefangen wird.

[Edit]
über
ExceptFrame.HandlerInfo(ExceptObj, HandlerLocation); (wie in einigen Beispielen gezeigt) funktioniert leider nicht da:
- dabei nicht berücksichtigt wird wenn im Stack über Message kommuniziert wird. Wenn zum Beispiel ein ShowModal in Try-Except eingefasst ist wird eine im Modal erzeugten Dialog auftretende Exception als abgefangen angesehen.
- auch alle in try-Except eingefassten Aufrufe von Application.HandleException werden als abgefangene Fehler gewertet (und von diesen Aufrufen gibt es in der VCL mehr als genug)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's

Geändert von SirThornberry (19. Apr 2011 um 19:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

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

AW: JCLDebug - Festestellen ob in try-except

  Alt 20. Apr 2011, 10:04
Heißt das, dass du nur unbehandelte Fehler loggen möchtest. Also die, die der Nutzer auch zu sehen bekommt?
Falls ja, so ist JclAddExceptNotifier wohl nicht das richtige, sondern eher TApplicationEvents.OnException
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

AW: JCLDebug - Festestellen ob in try-except

  Alt 20. Apr 2011, 10:56
Hmm, wäre bedingt eine Lösung da Application.OnException nur auf Exceptions des Hauptthreads reagiert aber nicht auf Exceptions in anderen Threads.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: JCLDebug - Festestellen ob in try-except

  Alt 20. Apr 2011, 11:01
sondern eher TApplicationEvents.OnException
Und um an die Exceptions in Threads zu kommen, so sollte man nach dem Beenden auch die Exception des/der Thread(s) behandeln.

http://www.delphipraxis.net/150812-i...ml#post1017532

Statt anzuzeigen könnte man es ja auch an Application.OnException weiterleiten und dort mit behandeln lassen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

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

AW: JCLDebug - Festestellen ob in try-except

  Alt 20. Apr 2011, 11:08
Achso, Threads ... Ich logge alle Exceptions, auch die, die in einem try-except-Block abgefangen werden. Von daher habe ich gar nicht dran gedacht, dass die Lösung mit TApplicationEvents.OnException ja nur auf den Hauptthread reagiert. Sorry
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  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 04:33 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