2

如果我错了,请纠正我,但我注意到从池中选择的线程ThreadPool.QueueUserWorkItem(GoneFishing)显然“吞下了”该线程中发生的任何异常。

这给我们带来了很多麻烦,因为我们设计了一个有序的线程链,所以如果一个线程没有很好地完成,那么后面的所有链都会被打乱。

以适当的方式处理这个问题的最方便的方法是什么?

4

1 回答 1

3

如果您考虑使用 .NET 4.0,则 a 引发的任何异常都会Task在加入时自动传播到父线程Task。看看这里:http: //msdn.microsoft.com/en-us/library/dd997415.aspx

对于其他相关解决方案,请检查以下问题:Safe to throw an exception created on another thread C#

于 2012-07-04T16:28:10.207 回答