![]() |
JCLDebug - Festestellen ob in try-except
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
Delphi-Quellcode:
(wie in einigen Beispielen gezeigt) funktioniert leider nicht da:
ExceptFrame.HandlerInfo(ExceptObj, HandlerLocation);
- 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) |
AW: JCLDebug - Festestellen ob in try-except
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 :-D |
AW: JCLDebug - Festestellen ob in try-except
Hmm, wäre bedingt eine Lösung da Application.OnException nur auf Exceptions des Hauptthreads reagiert aber nicht auf Exceptions in anderen Threads.
|
AW: JCLDebug - Festestellen ob in try-except
Zitat:
![]() Statt anzuzeigen könnte man es ja auch an Application.OnException weiterleiten und dort mit behandeln lassen. |
AW: JCLDebug - Festestellen ob in try-except
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 :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:02 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