【发布时间】:2017-03-08 19:39:45
【问题描述】:
根据MSDN:
如果您不等待传播异常的任务,或者访问 它的 Exception 属性,异常是根据 垃圾收集任务时的 .NET 异常策略。什么时候 允许异常冒泡回到加入线程,然后 一个任务可能会在之后继续处理某些项目 引发异常。
我假设 Task 类有一个引发异常或其他东西的终结器。但是为什么以下似乎无限期运行?
long collectionCount = 0;
Task.Factory.StartNew(() => { throw new NotImplementedException(); });
while (true)
{
GC.Collect();
GC.WaitForPendingFinalizers();
++collectionCount;
}
【问题讨论】:
标签: .net exception exception-handling .net-4.0 task-parallel-library