使用IDDY10的idtcpClient:
程序中,使用一个计时器,检查idTcpClient的状态,代码如下:
try
if not idTcpClient.Connected then
begin
idTcpClient1.connect('127.0.0.1',9099);
end;
except
//
end;
当服务器强制断开,就出现如题所示的错误信息。
我在Except中却无法获取。问,怎么才能不出现这样的错误提示。
程序中,使用一个计时器,检查idTcpClient的状态,代码如下:
try
if not idTcpClient.Connected then
begin
idTcpClient1.connect('127.0.0.1',9099);
end;
except
//
end;
当服务器强制断开,就出现如题所示的错误信息。
我在Except中却无法获取。问,怎么才能不出现这样的错误提示。
try
if not idTcpClient.Connected then
begin
idTcpClient1.connect('127.0.0.1',9099);
end;
Except
on E: Exception do
raise.Create(e.Message);
end;不過我有部分,為了全局的考慮,做過這樣的處理,你看是否適合你。 application.onExcetion := MyException ; // 定義一個APPLIATION的異常處理過程,將程序的所有異常都放在 MyException 中處理掉
if not idTcpClient.Connected then
begin
try
idTcpClient1.connect('127.0.0.1',9099);
except
//
end;
end;看起来与你的代码没什么区别
try
idTcpClient1.connect('127.0.0.1',9099);
except
//这里不需要处理
end;
end;
已经使用这个解决:
Application.OnException:=MyException;
procedure TOPCForm.MyException(Sender: TObject; E: Exception);
begin
if E is EIdSocketError then
TCPClient.Disconnect;
end;不知有没有其他方法.