阿尔巴哈里说——</p>
静态 TaskScheduler.UnobservedTaskException 事件为处理未处理的任务异常提供了最后的最后手段。通过处理此事件,您可以拦截否则会结束应用程序的任务异常,并提供您自己的逻辑来处理它们。
参考: http ://www.albahari.com/threading/part5.aspx
@ReedCoopsey说——</p>
请注意,在任何情况下,UnobservedTaskException 都不会阻止应用程序关闭 - 您需要在任务内部处理异常,或者始终等待任务,如果您想阻止它关闭应用程序。
参考: TaskScheduler.UnobservedTaskException 永远不会被调用
我阅读了 Albahari 并注册了 UnObservedTaskException,当出现未处理的异常时,我的应用程序随之崩溃。我不确定我在理解这两位线程专家时是否犯了任何错误。有人可以告诉我,如果只听 UnObservedTaskException 事件并设置观察到的异常就可以确保应用程序不会关闭?我明白这应该是处理异常的最后手段,应该使用 try/catch 块或等待。