我知道UnobservedTaskException
当终结器在对象上运行时,我可以处理以防止任何未观察到的异常终止我的应用程序。
但是,我不确定应该在何时何地为该事件设置处理程序。类中事件本身的 XML 文档TaskScheduler
说:
/// This AppDomain-wide event provides a mechanism to prevent exception
/// escalation policy (which, by default, terminates the process) from triggering.
/// Each handler is passed a <see cref="T:System.Threading.Tasks.UnobservedTaskExceptionEventArgs"/>
/// instance, which may be used to examine the exception and to mark it as observed.
这是否意味着我在整个 AppDomain 中只需要一个处理程序?并且所有未观察到的任务异常都将由它处理?
或者我是否需要每个程序集/每个类都有一个处理程序,并且只有来自该程序集/类中任务的未观察到的异常才会转到该处理程序?