AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Try Except - Originale Delphi Fehlermeldung?
Thema durchsuchen
Ansicht
Themen-Optionen

Try Except - Originale Delphi Fehlermeldung?

Ein Thema von Magnus · begonnen am 10. Jun 2009 · letzter Beitrag vom 10. Jun 2009
Antwort Antwort
Magnus

Registriert seit: 23. Dez 2002
8 Beiträge
 
#1

Try Except - Originale Delphi Fehlermeldung?

  Alt 10. Jun 2009, 08:37
Hallo,

wie kann ich bei einer Try-Except Anweisung den Text der originalen Delphi Fehlermeldung abfangen?

Delphi-Quellcode:
TRY
 { irgendwelcher fehlerverursachender Code }
EXCEPT
 showmessage('Huch, ein Fehler');
END;
Die Fehlermeldung möchte ich um den originalen Fehlertext von Delphi erweitern, da ich nur dann weiß, was eigentlich passiert ist. Denn wenn ich den Code einfach ohne TRY laufen würde, würde Delphi ja eine schöne detaillierte Information ausgeben.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Try Except - Originale Delphi Fehlermeldung?

  Alt 10. Jun 2009, 08:45
Delphi-Quellcode:
try

except
  on E: Exception do
    ShowMessage(E.Message);
end;
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Magnus

Registriert seit: 23. Dez 2002
8 Beiträge
 
#3

Re: Try Except - Originale Delphi Fehlermeldung?

  Alt 10. Jun 2009, 09:04
Vielen Dank, hat geholfen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Try Except - Originale Delphi Fehlermeldung?

  Alt 10. Jun 2009, 10:40
ansonsten sind in der System-Unit noch einige Variablen definiert
z.B. das ExceptObject
Delphi-Quellcode:
try

except
  ShowMessage(Exception(ExceptObject).Message);
end;
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Try Except - Originale Delphi Fehlermeldung?

  Alt 10. Jun 2009, 10:44
Ah, das kannte ich gar nicht. *unter Gehirn\Delphi abspeichert*

Funktioniert das eigentlich auch in finally, wenn da eine Exception aufgetreten ist?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Try Except - Originale Delphi Fehlermeldung?

  Alt 10. Jun 2009, 11:19
1. Das ExceptObject ist global und sollte nicht verwendet werden, da es bis zur Anzeige/Ausführung eures Codes unter des ExceptObject'es schon wieder eine neue Exception - u.a. in einem parallelen Thread - zu einer weiteren Exception gekommen sein kann und dann enthält ExceptObject dieses. Die globale Variable kann man nicht sicher einsetzen.
2. Das On E:Exception do gibt euch die zu dem Handler passende Exception und legt diese in E ab. Hier könnt ihr euch sicher sein, dass ihr die richtige verwendet.
3. Falls nun einer kommt: ich nutze keine Threads: Die VCL hat für ihre Nachrichtenschleife schon einen Thread (in dessen Context soweit zwar alle GUI Events laufen, aber das ist nur einer von vielen) und genauso gut gibt es an vielen anderen Stelle noch weitere. U.a. seien auch nochmal die Sockets erwähnt die davon nicht gerade wenige haben.
4. Finally Ausführung bedeutet nicht, dass es auch eine Exception gegeben hat! Und das man dies auch nicht anhand des ExceptObject'es nachprüfen kann, kann man sich aufgrund der Hinweise aus 1. denken.

Vergesst ExceptObject lieber schnell wieder! Es ist nur mit Vorsicht und unter bestimmten Bedingungen nutzbar. Auch die RTL nutzt diese Variable zum mappen von Exception, u.a. von Windows bzw. der WinAPI.
  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 12:01 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