Die verschiedenen Exceptionfälle geben mir eben immer den entsprechenden Fehler aus. z.B: Login faild oder User unknown usw. Jedenfalls funktioniert es so recht gut...
Eben nicht, denn du machts immer
genau das
Selbe, egal welcher Fehler.
Und dazu könntest du auch Fehler übersehn, falls diese nicht vorkommen, in deiner Liste.
Folgendes macht also genau das Gleiche, nur daß es keine Exceptions mehr übersieht.
Delphi-Quellcode:
except
on E:
Exception do
WriteLn(E.
Message);
end;
Alternativ:
Delphi-Quellcode:
except
on E: EIdTextInvalidCount
do
Writeln(E.
Message);
...
on E: EIdTLSClientCanNotSetWhileActive
do
Writeln(E.
Message);
on E:
Exception do
WriteLn(E.
Message);
// das, was du sonst übersehn könntest
else
WriteLn('
ganz komischer Fehler');
// kommt aber "eigentlich" nie vor, da Exceptions ja eine Exceptionklasse besitzen und diese "immer" vom Typ Exception abstammen sollt.
end;
Wenn du wirklich wissen willst, welcher Fehler es genau war, dann eher so:
Delphi-Quellcode:
except
on E:
Exception do
WriteLn(E.ClassName, '
: ', E.
Message);
end;