Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#12

AW: finally: if "exception exists" then ... else ... Ist das möglich?

  Alt 2. Sep 2011, 17:03
Zitat:
Delphi-Quellcode:
X := TIrgendwas.Create;
try
   try
     ...
   except
     ...
   end;
finally
   X.Free; // erst Exception behandeln, dann aufräumen
end;
Delphi-Quellcode:
try
   X := TIrgendwas.Create;
   try
     ...
   finally
     X.Free; // erst aufräumen, dann Exception behandeln
   end;
except
   ...
end;
Hast du deine Varianten auch mal ausprobiert?
Das war doch schon letztens der Fall, dass du etwas gepostet hast was durch einfaches probieren zu widerlegen war.

Wenn innerhalb eines try-finally eine Exception ausgelöst wird, wird der Code hinter dem Block nicht mehr ausgeführt.
Bei einem Fehler innerhalb eines try-Except wird jedoch der Code hinter dem Block noch ausgeführt.

Wenn du jetzt innerhalb des Try-Finally ein Try-Except machst wird der Fehler im Except-Block behandelt und es geht auch nach dem Finally weiter. Wenn dann müsste man im Except-Block die Exception erneut auslösen damit der Code hinter dem Finally-Block nicht mehr ausgeführt wird.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's

Geändert von SirThornberry ( 2. Sep 2011 um 17:11 Uhr)
  Mit Zitat antworten Zitat