Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.214 Beiträge
 
Delphi 10.4 Sydney
 
#1

"FinalllyExit" gewünscht

  Alt 30. Apr 2011, 11:53
Delphi-Version: 5
Ich würde mir folgende Delphi-Syntax wünschen:

Delphi-Quellcode:
function MyFunc(var Counter: Integer): Real;
var
  O: TMyObject;
begin
  O := TMyObject.Create;
  O.MachWas(Counter);
  if (O.Dies) then
    Exit(Random)
  else
  if (O.Das) then
    Exit(0);
  Result := 1 / 0; // Exception
FinallyExit: // <-- Vor dem Aussprung IMMER ausführen, was folgt
  FreeAndNil(O);
  Inc(Counter);
end;

Es geht mir hier nur darum, dass vor dem Aussprung aus der Funktion IMMER noch irgend etwas erledigt wird.
FinallyExit könnte also ein automatisches GoTo-Label implemententieren, so dass auch Exit dort hin führt.
Ebenso könnte dieses Konstrukt als Try-Finally-Block fungieren.

Um das zu erzielende Ergebnis umzusetzen, müsste man bisher einen Try-Finally-Block definieren und die Exit-Anweisungen durch GoTo ersetzen, wobei hier zuvor noch Result zugewiesen werden müsste.
Ich habe mir eine solche Syntax schon öfters gewünscht.

Was haltet Ihr davon?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (30. Apr 2011 um 11:56 Uhr)
  Mit Zitat antworten Zitat