我在Albahari的Nutshell书中从C#5获得了这个例子。作者声称“与线程不同,任务传播异常”。但是,在下面,“Null”永远不会写在控制台上。这是相当令人困惑的,下面是示例代码
Task task = Task.Run(() => { throw new NullReferenceException("null"); });
try
{
task.Wait();
}
catch (AggregateException aex)
{
if(aex.InnerException is NullReferenceException)
Console.WriteLine("Null");
else
{
throw;
}
}
更新:
下面的截图
这是完整的片段,所以没有遗漏任何东西。任何帮助非常感谢。感谢