Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#9

AW: IdTCPClient Komponente

  Alt 7. Dez 2011, 11:17
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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat