在达到应用程序级别之前捕获未处理的异常

时间:2009-07-09 19:53:49

标签: c# wpf exception-handling

我们使用Dispatcher捕获WPF应用程序中的任何未处理的异常。这是在我们的app.xaml.cs文件中定义的,它运行良好。但是,我们需要检测并捕获特定WPF用户控件中发生的任何未处理的异常。我们希望能够在应用程序级别的处理程序接收和处理之前拦截与该控件相关的任何未处理的错误。当我们尝试为User Control调度程序设置处理程序时,未处理的错误似乎总是首先在应用程序级别处理,然后在用户控制级别处理。即使我们在两个处理程序中都设置了Handled = True。没有使用工作线程。

我们知道我们可以进入用户控件及其调用的所有代码并设置try {} catch {}块并抛出自定义异常,但我们希望获得更多关键解决方案。

任何想法?

希望这个问题有道理..

1 个答案:

答案 0 :(得分:2)

没有“用户控制调度员”这样的东西。每个线程最多只有一个活动调度程序。因此,处理Dispatcher.UnhandledException事件的处理程序的顺序仅由它们的注册顺序定义。