Bezüglich Fehlerbehandlung geht man eigentlich davon weg, den Anwender einer Methode durch Rückgabewerte über den Erfolg oder Misserfolg zu informieren. Stattdessen werden Exceptions eingesetzt. Der Grund ist einfach: Der Code ist lesbarer.
Delphi-Quellcode:
// Statt:
var
r : TMethodResult;
begin
r := ThisMethod();
if r = Success then begin
r := ThatMethod();
if r = Success then
DoSomething
else
ErrorHandling(r);
end else
ErrorHandling(r);
...
// Lieber
Try
ThisMethod();
ThatMethod();
DoSomething();
Except
On e:EMyMethodException do
ErrorHandling(e);
End
Wenn Du also noch eine EPapierkorb-
Exception Klasse deklarierst und dann in dieser
Exception den genauen Grund des Scheiterns lieferst, kann der Anwender die sehr elegante und -finde ich- einfacher lesbarere zweite Variante verwenden.
Und das mit der For-Schleife... Decke bitte den Mantel der Nächstenliebe über meinen Einwand. Danke hoika.