Einzelnen Beitrag anzeigen

Halux

Registriert seit: 12. Okt 2011
6 Beiträge
 
#1

Indy Exception nicht auffangbar

  Alt 14. Okt 2011, 16:45
Hey,

nach vielen Versuchen, die Exception doch irgendwie aufzufangen hoffe ich hier auf Hilfe.
Ich beginne gerade mit Indy zu experimentieren und wollte eine kleine Client-Server Applikation schreiben.
Soweit klappte auch alles, aber wenn ich den Server beende, während der Client noch verbunden ist, wird eine Exception ausgelöst.
Die Meldung lautet:
"Project Project1.exe raised exception class EIdSocketError witch message 'Socket Error # 10061 Connection refused.'."

Ich finde einfach nicht herraus, wie ich die Exception auffangen kann. Globales Exceptionhandling mit diesem Code (von http://www.delphi-treff.de/tutorials...ptionhandling/) funktionert nicht.
Delphi-Quellcode:
procedure TForm3.AppException(Sender: TObject; E: Exception);
begin
  if Sender is TComponent then
    MessageDlg(Format('Es ist folgender Fehler aufgetreten:%s%s%s'+
    'Fehlertyp:%s%s%sSender:%s%s [%s]', [#10#13, E.Message,
    #13#10#13#10, #10#13, E.ClassName, #10#13#10#13, #13#10,
    TComponent(Sender).Name, Sender.ClassName]), mtError, [mbOk], 0)
  else
    MessageDlg(Format('Es ist folgender Fehler aufgetreten:%s%s%s'+
    'Fehlertyp:%s%s%sSender:%s%s', [#10#13, E.Message, #13#10#13#10,
    #10#13, E.ClassName, #10#13#10#13, #13#10, Sender.ClassName]),
    mtError, [mbOk], 0);
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
  Application.OnException := AppException;
end;
Ein try...except block scheint das ganze auch nicht beheben zu können, da die Exception nicht durch eine Aktion des Clients ausgelöst wird.

Ich hoffe ihr könnt mir helfen.
  Mit Zitat antworten Zitat