聚合异常无限循环

时间:2015-08-25 13:58:36

标签: c#

我有一块C#代码,在使用SignalR将客户端连接到服务器时包含try / catch。我的问题是,如果我尝试使用Microsoft的示例https://msdn.microsoft.com/en-us/library/vstudio/Bb738521(v=VS.100).aspx处理AggregateException,我最终会被AggregateException无限循环抛出并被捕获,即使我认为他们不应该& #39; t be。

我的代码看起来就像微软:

Connection = new HubConnection(Url);
Hub = Connection.CreateHubProxy(HubProxy);
try
{
    Connection.Start().Wait();
}
catch (AggregateException aggEx)
{
    foreach (var e in aggEx.InnerExceptions)
    {
        if (e is SocketException)
        {
            Console.WriteLine(e.ToString());
        }
        else
        {
            throw;
        }
    }
}

会导致这种情况发生的原因是什么?

1 个答案:

答案 0 :(得分:2)

你没有在cacth块中抛出异常。 Visual Studio的默认行为是在未处理的异常终止应用程序的地方停止。