Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Meflin,
10. Dez 2013
Das hast du falsch verstanden. Das ist so garnicht möglich. Du hast als Rückgabe z.B. ein Try. Dann ist das entweder ein Failure oder ein Success Objekt. Die konkrete Weiterverwendung ist dann sehr stark abhängig vom spezifischen Anwendungsfall. Aber du kannst mit dem Objekt erstmal weiterarbeiten, ohne zu wissen, was von beiden es ist. Also z.B. maybeInt.map(x => x * 2) Die Überprüfung, ob die...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Meflin,
10. Dez 2013
Exceptions sind für mich dann akzeptabel, wenn man andernfalls mehr als einen Rückgabetyp verwenden müsste (geht in statisch getypten Sprachen sowieso nicht) und man keine bessere Alternative hat. Ein Beispiel dafür wäre z.B. eine Try-Klasse. Keine Ahnung, ob es sowas in Delphi gibt. Ist aber auch egal, denn das ist eine "total normale" Klasse und nicht durch spezielle Syntax eingeführt. Wenn man...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Meflin,
10. Dez 2013
Na sorry aber das ist ja jetzt Äpfel mit Birnen verglichen. Das Beispiel ohne Exceptions kann man genauso leserlich und ohne verschachtelte ifs aufschreiben und trotzdem keine Exceptions verwenden... indem man einfach Guard Clauses benutzt. Soll heißen:
procedure foo;
var
LHandle1, LHandle2, LHandle3, LHandle4 : THandle;
begin
LHandle1 := GetHandleFromElsewhere;
if LHandle1 =...