为什么在被捕获的任务中没有抛出异常?

时间:2014-08-18 17:46:06

标签: c#

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

更新:

下面的截图

enter image description here 这是完整的片段,所以没有遗漏任何东西。任何帮助非常感谢。感谢

0 个答案:

没有答案