2

我正在尝试使用 BeginConnect 连接到服务器,当我指定了不正确的 IpAddress 或端口时,我得到了 SocketException。

问题是我的 try/catch 没有捕捉到异常:

private void OnConnect(IAsyncResult result)
{
    try
    {
        socket.EndConnect(result);

        status = Status.WaitAck;

        socket.BeginReceive(buffer, 0, buffer.Length, SocketFlags.None, onDataReady, null);
    }
    catch (Exception ex)
    {
        if (ConnectionError != null)
            ConnectionError(this, new OpenWebNetErrorEventArgs(ex));
    }
}

当我调用 socket.EndConnect 方法时,VS 向我报告异常并阻止程序...

我该如何处理?

谢谢费德里科

4

1 回答 1

0

你是在调试器下运行程序吗?如果是这样,您要么让 VS 在抛出任何异常时中断,要么在抛出 SocketException 时中断。

如果您解决了这个问题(取消选中该异常的“抛出”列),它应该允许您的 Catch 处理程序执行。

于 2009-10-02T04:36:46.457 回答