我有一块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;
}
}
}
会导致这种情况发生的原因是什么?
答案 0 :(得分:2)
你没有在cacth块中抛出异常。 Visual Studio的默认行为是在未处理的异常终止应用程序的地方停止。