![]() |
Soll (After-)Event trotz Fehler feuern?
Hallo zusammen,
und zwar habe ich im Moment eine eher philosophische Fragen. Und zwar habe ich mehrere Methoden, die zu Beginn ein OnBeforeXYZ-Event und am Ende ein OnAfterXYZ auslösen. Nun stellt sich mir die Frage, ob das OnAfterXYZ-Evente unbedingt ausgelöst werden soll, auch wenn in der eigentlichen Methode eine Exception auftritt!? Hier nochmals zur Verdeutlichung ein wenig Code:
Delphi-Quellcode:
procedure TBlub.AMethod();
begin OnBeforeXYZ(); raise Exception.Create('Juchee'); OnAfterXYZ(); end; { ... oder das gleich mit einer try-finally-Konstruktion } procedure TBlub.AMethod(); begin OnBeforeXYZ(); try raise Exception.Create('Juchee'); finally OnAfterXYZ(); end; end; |
Re: Soll (After-)Event trotz Fehler feuern?
OnBefor und OnAfter wird häufig verwendet, um wärend bestimmter Aktionen andere Funktionen zu sperren/entsperren, Cursor zu wechseln usw.. Das Pärchen sollte schon komplett sein.
|
Re: Soll (After-)Event trotz Fehler feuern?
Ich denke das kommt ganz auf den Fall an und kann nicht so allgemein definiert werden.
Grundsätzlich muss man sich überlegen wozu die Before- und After-Events überhaupt benötigt werden. Aber ich denke dass man in der Regel im After-Event Resourcen aufräumen möchte, die man in Before-Event alloziert hat. Dann ist der try-finally-Block schon nötig. Die Frage ist ob man nicht noch zusätzlich einen Error-Event einbauen möchte. Vor allem wenn die Events von einem eigenen Thread heraus aufgerufen werden. Man könnte sich auch überlegen eine allfällige Exception dem After-Event als Parameter mitzuliefern (nil falls kein Fehler), dann kann der Benutzer im Event-Handler selber entscheiden was er nun tun sollte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 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