Thema: Delphi try .. except .. finally

Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#18

Re: try .. except .. finally

  Alt 14. Jul 2009, 18:52
Zitat von Muetze1:
Wenn bei dir die Küche brennt willst du dir bestimmt auch nicht vorher nochmal in Ruhe die Hände waschen bevor du dein Telefon anfässt um die Feuerwehr zu rufen - nur weil du es sonst auch immer machst (um dein Handy sauber zu halten). Wenn eine Ausnahmesituation auftritt, dann benutze verlässliche Quellen und das ist in diesem Falle die Exception selbst.
Genau das wollte ich zeigen: die finally-Behandlung (das 'Händewaschen', um im Beispiel zu bleiben) hat den Effekt, dass wichtige Kontextinformationen verloren gehen. Genau wie Du es schreibst, soll daher die Exceptionbehandlung zuerst erfolgen. Wie soll man sonst in den Fällen wo es möglich ist, die Exception sauber zu behandeln, den aktuellen Zustand der Anwendung nutzen, wenn man sie per finally zuerst wieder initialisiert, und wie soll man sinnvolle Kontextinformationen wie z.B. Kundennummer auch protokollieren, wenn man im finally schon das Kundenobjekt entsorgt hat? Und so quasi das Handy aus dem Fenster wirft, um es vor den Flammen zu retten

Ob die Reihenfolge try ... finally ... except ... end oder try ... except ... finally ... end verwendet wird, macht daher schon einen Unterschied. C# und Java zum Beispel kennen nur try catch finally. Also erst "die Feuerwehr rufen", nicht als letztes.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat