Zitat von
mumu:
exceptions sind zwar (meiner meinung nach, die Indys haben da ja eine andere Meinung) unsaubere Programmierung und sollten eigentlich wirklich nur bei gravierenden Fehlern auftauchen...
Wieso? Irgendwie muss man ja falsche Parameter ('Design by contract') ablehnen.
Variante A: Die Routinen liefern True, wenn alles im Lot sind und False sonst.
Delphi-Quellcode:
If EineProcedure Then
If DieNaechsteProcedure Then
If NochEineProcedure Then
If EndlichDieLetzteProcedure Then
Output ('Alles ok')
else
Output ('Hupsa')
else
Output ('Hupsa')
else
Output ('Hupsa')
else
Output ('Hupsa');
Variante B: Die Routinen erzeugen eine
Exception wenn irgendwas faul ist:
Delphi-Quellcode:
Try
EineProcedure;
DieNaechsteProcedure;
NochEineProcedure;
EndlichDieLetzteProcedure;
Output ('Alles ok');
Except
Output ('Hupsa');
End;
Also, ich finde 'B' übersichtlicher. Das einzige, was nervt, ist das Debuggen. Aber wenn man die Prozeduren spezielle Exceptions ('EMyException') auslösen lässt, kann man die auch wegfiltern.
Aber zurück zum Thema...