为什么Task.WaitAny没有抛出exception?

在下面的代码中,“内部捕获块”从不打印。 尽管打印了“最后一行”。 为什么这样? 请帮忙。

Task task1 = Task.Factory.StartNew(() => { throw new Exception("some exception"); }); try { Task.WaitAny(new Task[] { task1 }); } catch(Exception e) { Console.WriteLine("Inside catch block."); } Console.WriteLine("Final line."); 

这是因为您的代码在不同的线程中执行,但您可以使用以下代码捕获在不同线程中发生的exception

 Task task1 = Task.Factory.StartNew(() => { throw new Exception("some exception"); }); try { task1.Wait(); } catch (AggregateException ex) { Console.WriteLine(ex); }