我将旧的indy 9迁移到indy 10包中,但我遇到了一个重大错误:
按顺序,我制作一个新的TidTCPClient:
TIdTCPClient* IdTCPClient = new TIdTCPClient(NULL);
我设置了主机和端口,然后将其连接到:
IdTCPClient->Connect();
从现在起,我发送的数据如下:
try
{
IdTCPClient->IOHandler->WriteLn(frame);
}
catch (const EIdException &e)
{
Error(e);
}
我的问题是如果我丢失了网络连接,或者服务器停止运行,我收到一个套接字错误10054,其中一个由catch处理,所以我断开了我的套接字:
try
{
IdTCPClient->Disconnect(false);
if(IdTCPClient->IOHandler != NULL)
{
IdTCPClient->IOHandler->InputBuffer->Clear();
}
}
catch(const EIdException &ex)
{
}
但是有了这一切,应用程序继续弹出一个带有套接字错误的错误消息,但是我的try catch仍然在这里!!
那么如何隐藏indy发送的这条错误信息呢?
感谢。