AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Soll (After-)Event trotz Fehler feuern?

Soll (After-)Event trotz Fehler feuern?

Ein Thema von s.h.a.r.k · begonnen am 8. Apr 2010 · letzter Beitrag vom 8. Apr 2010
Antwort Antwort
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#1

Soll (After-)Event trotz Fehler feuern?

  Alt 8. Apr 2010, 14:03
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;
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Soll (After-)Event trotz Fehler feuern?

  Alt 8. Apr 2010, 15:38
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.
  Mit Zitat antworten Zitat
ele

Registriert seit: 18. Feb 2009
129 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Soll (After-)Event trotz Fehler feuern?

  Alt 8. Apr 2010, 15:48
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.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:24 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