Socket的OnError事件中封装了TErrorEvent事件,ErrorCode

解决方案 »

  1.   

    问题在于socketConnection是没有onerror事件的啊
      

  2.   

    这样不行吗??try
      your code
    except
      on E:Exception do
        showmessage(e.message);
    end;
      

  3.   

    你可以看看Socket的OnError事件,ErrorCode := 0;这样可以屏蔽错误,然后在看看错误事件中定义的几个错误事例,分别可以捕获的。
      

  4.   

    Application有个OnException事件,可以在这里捕捉本应用程序的所有异常,
    只要你设置了这个事件,就不会弹出异常对话框。
      

  5.   

    procedure TfmMain.ServerSocketClientError(Sender: TObject;
      Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
      var ErrorCode: Integer);
    var
      errorMsg: string;
    begin
      case ErrorEvent of
        eeGeneral:    errorMsg:='eeGeneral';
        eeSend:   errorMsg:='eeSend';
        eeReceive:    errorMsg:='eeReceive';
        eeConnect:    errorMsg:='eeConnect';
        eeDisconnect: errorMsg:='eeDisconnect';
        eeAccept:     errorMsg:='eeAccept';
      end;
      ErrorCode:=0;
      memoSvr.Lines.Add('Socket Error:'+errorMsg);
    end;