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.