C# · 12月 23, 2021

c# – 线程池线程的异常

有关:

> How to catch exceptions from a ThreadPool.QueueUserWorkItem?
> Exceptions on .Net ThreadPool Threads

如果方法抛出ThreadPool.QueueUserWorkItem方法调用的异常,将抛出异常?还是会被吃掉?

我的意思是它永远不会被抛出调用线程吗?

解决方法 不,异常永远不会传播到另一个线程.它最终会崩溃线程,并被运行时捕获.此时,运行时会引发可以观察到异常的AppDomain.UnhandledException事件.

您可以阅读有关此here的更多信息.