Announcement

Collapse
No announcement yet.

Anzeige des Funktionsnamens bei Exceptions

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anzeige des Funktionsnamens bei Exceptions

    Hallo,
    tritt eine Exception in einer Funktion auf, möchte ich den Namen dieser Funktion ermitteln und in einer Protokolldatei speichern, Gibt es eine derartige Möglichkeit in Delphi 5 Prof ?
    (Die aufwendige und umständliche Möglichkeit ist mit try-except Blöcken zu arbeiten und hier den Namen in die Datei zu schreiben)

    MfG + Danke
    T.Geiger

  • #2
    Du hast folgende Möglichkeit:

    Besorg dir von http://www.delphi-jedi.org die JEDI-VCL. Hier gibt es die Funktion "JclHookExceptions" (Unit: JclDebug) mit der man bei jedem Auftreten einer Exception eine eigene Methode aufrufen lassen kann.<br>
    Bei Aufruf dieser Methode kann man z.B. mit Hilfe der Funktion "GetLocationInfo(ExceptAddr)" zusätzliche Infos wie Dateiname, Zeilennummer, ... herausfinden (wenn das Programm mit einer Map-Datei kompiliert wurde).

    Anschließend mußt du noch das Event OnException der Klasse TApplicationEvents verwenden, um alle nicht behandelten Exceptions zu bekommen. Hier kannst Du dann die entsprechenden Infos der GetLocationInfo-Funktion (sowie andere Infos wie BS-Version, ...) in eine Log-Datei schreiben

    Comment


    • #3
      Hi,

      ich habe ein ähnliches Problem.

      Ich habe mich gerade eben durch die Assert - Funktion gekämpft, naja war glaube ich eher eine Schlammschlacht!!!
      Besteht eigentlich irgendwie eine möglichkeit die Informationen von assert Abzufangen und nicht als Exception ... anzuzeigen.

      Aber nicht über den Exception Handler von TApllication,
      sondern vielleicht irgendwie das ganze überschreiben und die Ausgabe als String zurückgeben

      Wie z.B

      ShowMessage(MyAssert(false));

      mfg stepha

      Comment

      Working...
      X