Mit Exceptions wird zudem der Code in der Regel kompakter und übersichtlicher.
Beispiel ohne Exceptions:
...
Jetzt mal mit Exceptions
...
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:
Code:
procedure foo;
var
LHandle1, LHandle2, LHandle3, LHandle4 : THandle;
begin
LHandle1 := GetHandleFromElsewhere;
if LHandle1 = INVALID_HANDLE then return;
LHandle2 := GetHandleFromElsewhere(LHandle1);
if LHandle2 = INVALID_HANDLE then return;
...
end;
Persönlich bin ich nicht von der Notwendigkeit von Exceptions überzeugt. Vor allem finde ich, dass die Exceptionbehandlung in den meisten Sprachen (auch in Delphi) nicht wirklich schön lesbarer Code ist.
Leo S.