Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Try Except - Originale Delphi Fehlermeldung?

  Alt 10. Jun 2009, 10: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