Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi OnException bei von TObject abgeleiteten Klassen? (https://www.delphipraxis.net/151506-onexception-bei-von-tobject-abgeleiteten-klassen.html)

HeikoAdams 20. Mai 2010 13:56


OnException bei von TObject abgeleiteten Klassen?
 
Hallo,
ich habe einige Klassen geschrieben, die von TObject abgeleitet sind, um bequemer auf eine COM-Schnittstelle zugreifen zu können. Ist es möglich, für diese Klassen einen OnException-Event zum globalen Exception-Handling zu implementieren oder muss ich dafür eine andere Klasse als Basis nehmen?

Gruß

Heiko

dominikkv 20. Mai 2010 14:21

Re: OnException bei von TObject abgeleiteten Klassen?
 
Ähm... verstehe ich nicht! Willst du nochmal genauer erklären, was du vorhast?

HeikoAdams 20. Mai 2010 14:30

Re: OnException bei von TObject abgeleiteten Klassen?
 
Ich will im Prinzip einen Container um einer sehr kompliziert zu bedienende COM-Schnittstelle bauen, damit ich die dann in Zukunft relativ einfach nutzen kann.
Zur Fehlerbehandlung würde ich gerne einen (in der Klasse) globalen Exception-Handler nutzen, anstatt in jeder einzelnen Funktion/Prozedur mit try-except-finally Blöcken zu arbeiten.

sirius 20. Mai 2010 14:31

Re: OnException bei von TObject abgeleiteten Klassen?
 
Ja, und...alle Klassen erben von TObject :drunken:


Edit: Sowas gibt es nicht wirklich. Du kannst zwar immer auf Application.OnException reagieren bzw. TApplicationEvent nutzen. Damit fängst du aber alle Exceptions deines Programms ab, welche in der Behandlung von Windows-Messages auftreten.

HeikoAdams 20. Mai 2010 14:37

Re: OnException bei von TObject abgeleiteten Klassen?
 
Das bedeutet kurz und knapp: try-except-finally in allen Funktionen/Prozeduren oder das Exception-Handling der Anwendung überlassen :gruebel:

sirius 20. Mai 2010 14:41

Re: OnException bei von TObject abgeleiteten Klassen?
 
Eigentlich solltest du bei son einer Klasse das Exception-Handling generell der Anwendung überlassen. Du baust nur Ressorucenschutzblöcke mit try-finally auf oder ergänzt Exceptions mit try...except..raise oder erstellst neue Exceptions bspw. aus Fehlercodes.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:35 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