请大家帮忙:三曾数据库开发中
socketconnetion 的error reading from socket如何捕获。
在数据正在传输过程中,如果突然关闭服务器就会出现这样的错误,且用try..except..end 无法处理。

解决方案 »

  1.   

    在窗口上加一个 ApplicationEvents
    在onException中加入
    if (AnsiString((E->ClassType())->ClassName()) == "ESocketConnectionError"){...}
    如果不是ESocketConnectionError错误的话就捕捉(E->ClassType())->ClassName()名 
      

  2.   

    OKprocedure TfmLogin.ApplicationEvents1Exception(Sender: TObject;
      E: Exception);
    begin
      if E.ClassType.ClassName = 'ESocketConnectionError' then
       showmessage(E.ClassType.ClassName)
      else
       raise E;
    end;
      

  3.   

    这个问题,记得很早之前就有讨论过.基本上可以通过拦截掉SocketConnection相关消息句柄上的消息THREAD_EXCEPTION来处理.应该使用Google搜索THREAD_EXCEPTION可以找到一些相关贴子.
      

  4.   

    http://topic.csdn.net/u/20080927/09/d543fb3a-157e-4e44-b46f-3700f4f255f9.html