聚合异常无限循环

本文关键字:无限循环 异常 | 更新日期: 2023-09-27 18:09:48

我有一个c#代码块,其中包含使用SignalR连接客户端到服务器时的try/catch。我的问题是,如果我试图处理AggregateException使用微软的例子在这里我结束了AggregateException被抛出和捕获的无限循环,即使我认为他们不应该。

我的代码看起来就像microsoft:

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;
        }
    }
}

什么会导致这种情况发生?

聚合异常无限循环

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