Entwickler-Ecke
Internet / Netzwerk - IdTCPClient: Exceptions komplett abfangen
LittleBen - So 05.02.12 22:23
Titel: IdTCPClient: Exceptions komplett abfangen
Guten Abend,
habe folgendes Problem: Wenn ich eine Verbindung zu einem Host aufbauen will, der nicht erreichbar ist, dann kommen natürlich Fehlermeldungen, die aber abgefangen werden sollen. Das sollte eigentlich kein Problem sein...ist aber eins :D
Verbindung aufbauen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| ClientSocket:= IdTCPClient.TIdTCPClient.Create(Application); try ClientSocket.Host:= '192.xxx'; ClientSocket.Port:= 10001; ClientSocket.ReadTimeout:= 2000;
try ClientSocket.Connect(2000); except end; finally ClientSocket.Free; end; |
Nun habe ich versucht, die Exceptions so abzufangen (die 3 Möglichkeiten habe natürlich einzeln getestet):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| except on E: EIdConnClosedGracefully do begin showmessage('Fehler'); exit; end; on E: EIdSilentException do begin showmessage('Fehler'); exit; end;
showmessage('Fehler'); exit; end; |
Wenn ich das Erste teste, dann kommt: "Socket-Fehler # 11001 Host nicht gefunden"
Beim 2. Versuch kommt die Fehlermeldung, die beim Ersten abgefangen wurde: "Die Verbindung wurde erfolgreich geschlossen" (sowie beim 3. Versuch)
Was mache ich da falsch? Wie muss ich es denn sonst machen?
Viele Grüße,
Littleben
jaenicke - So 05.02.12 22:49
Ich gehe mal davon aus, dass du es ohne Debuggen mit Delphi getestet hast?
Normalerweise gibt es zwei Möglichkeiten unbekannte Exceptions abzufangen:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| on E: Exception do ShowMessage(E.Message);
on E: TObject do ... |
LittleBen - Mo 06.02.12 14:31
Wenn ich das so mache, dann kommt die Fehlermeldung "Die Verbindung wurde erfolgreich geschlossen", da diese ja nicht mehr mit EIdConnClosedGracefully abgefangen wird.
jaenicke - Mo 06.02.12 15:11
Das konnte ich nicht reproduzieren. Hättest du einmal ein kleines Beispielprojekt? :gruebel:
// EDIT:
Oder einen Screenshot von der Fehlermeldung wie die aussieht?
LittleBen - Di 07.02.12 15:38
o.O Huuch...?! Auf einmal funktionierts :?: :gruebel: Umso besser :D Vielen Dank!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!