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.