线程池线程的异常

发布于 2024-07-14 17:57:57 字数 380 浏览 7 评论 0原文

相关:


如果一个方法抛出由 ThreadPool.QueueUserWorkItem 方法调用的异常,该异常将在哪里抛出? 或者它会被吃掉吗?

我的意思是它永远不会被抛出到调用线程上,对吧?


Related:


If a method throws an exceptions that is called by the ThreadPool.QueueUserWorkItem method where will the exception be thrown? or will it just be eaten?

I mean it will never be thrown on the calling thread right?


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

谁许谁一生繁华 2024-07-21 17:57:57

不,异常永远不会传播到另一个线程。 它最终会使线程崩溃,并被运行时捕获。 此时,运行时会引发 AppDomain.UnhandledException 事件,可以在其中观察到异常。

您可以在此处了解有关此内容的更多信息。

NO, the exception will never propagate to another thread. It will eventually crash the thread, and be caught by the runtime. At this point the runtime raises the AppDomain.UnhandledException event where the exception can be observed.

You can read more about this here.

只是偏爱你 2024-07-21 17:57:57

如果未在线程回调中捕获该异常,则该异常将使您的应用程序崩溃(被吞噬的 ThreadAbortException 和 AppDomainUnloadedException 除外)。 请注意,在 .NET 1.1 中,所有异常都被吞掉了。 .NET 2.0 中的行为已更改。

我找到了这个链接: http://msdn.microsoft.com/en-us/库/ms228965.aspx

The exception will crash your application if is not caught inside your thread callback (except for ThreadAbortException and AppDomainUnloadedException that are swallowed). Note that in .NET 1.1 all exceptions were swallowed. The behavior was changed in .NET 2.0.

I found this link: http://msdn.microsoft.com/en-us/library/ms228965.aspx

再浓的妆也掩不了殇 2024-07-21 17:57:57

未处理的异常将导致 .Net 2.0 或更高版本中的应用程序崩溃。 QUWI 代码中的异常不会被捕获或转移到另一个线程。

参见例如
https://blog.codinghorror.com/improved-unhandled -net-20 中的异常行为/

Unhandled exceptions will bring down the app in .Net 2.0 or higher. The exception from QUWI code will not be caught or transferred to another thread.

See e.g.
https://blog.codinghorror.com/improved-unhandled-exception-behavior-in-net-20/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文