idhttp post 出现exception class EIdSocketError with message 'Socket Error # 10054的解决办法

本文探讨了在使用DelphiXE3版本及INDY组件进行频繁数据提交时遇到的SocketError#10054异常问题,并提供了通过使用EIdException捕获该异常的解决方案,确保程序稳定运行。
 


    由于项目需要。需要向一个地址提交数据。提交的次数很频繁,但是程序经常raised exception class EIdSocketError with message 'Socket Error # 10054
Connection reset by peer.' 造成程序异常,停止工作。
    于是找到以下解决办法。Exception捕获不到该异常。需要用EIdException来捕获异常。
    IDE环境: Delphi XE3 Version 17.0.4625.53395
    INDY :IDE自带。

  

  v_sparm :TStringList;
begin
  Result:='0';
  v_sparm := TStringList.Create;
  ……

  Form1.idhtp1.ConnectTimeout := 15000;
  Form1.idhtp1.ReadTimeout:=15000;
  ……
  try
    ……
    try
      Result:=Form1.idhtp1.Post(URL,v_sparm);
    except
      on e: EIdException do  //用EIdException捕获Socket Error # 10054 Connection reset by peer
      begin
        WriteLog(e.Message); //处理异常信息。防止程序挂掉。
      end;
    end;
  finally

  end;
end;


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值