Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#8

AW: Rückgabewert könnte undefiniert sein und Exception.RaiseOuterException

  Alt 4. Nov 2020, 12:19
Tja, könnte man bei Funktionen/Methoden angeben, dass sie immer eine Excepion werfen, dann könnte der Compiler das wissen, aber das geht nicht, also weiß er es nicht, dass es danach nicht weitergeht.

Statt dem Result zuzuweisen würde ich hier einfach raise nutzen.
Beides wird nicht ausgeführt, aber beim Raise ist das Verhalten "klarer" und man ist unabhängig davon ob die Funktion ein Result hat oder nicht und welchen Typ die hat.
Delphi-Quellcode:
  try
    // do something and set result
    // ...
    Result := 0;
  except
    Exception.RaiseOuterException(...);
    raise; // damit der Compiler nicht motzt
  end;
Ich find's eh bissl komisch, dass die OuterException so unpraktisch verpackt wurde.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Nov 2020 um 16:41 Uhr)
  Mit Zitat antworten Zitat