- 由于它是异步调用,我无法使用 try/catch 包装我的开始调用,并在程序从该点移开后捕获发生的异常。 - 由于服务代理是自动生成的,我无法在每个调用 EndInvoke 的生成函数上放置 try/catch 块(异常实际上出现在此处)。这些生成函数也被调用堆栈中的外部代码包围,因此没有其他地方可以在堆栈中放置 try/catch。 - 我无法将 try/catch 放在我的回调函数中,因为异常发生在它们被调用之前。 - 在我的 App.xaml.cs 中有一个 Application_UnhandledException 函数,它捕获所有未处理的异常。我可以使用它,但这似乎是一种混乱的方式。我宁愿将此功能保留给真正意外的错误(即错误),而不是针对我希望以特定方式处理的每种情况都在此函数中编写代码。
我是否错过了一个明显的解决方案?还是说我必须使用 Application_UnhandledException? [编辑] 如下所述,Error 属性正是我要查找的内容。让我困惑的是,异常被抛出并似乎未被捕获,但执行能够继续。它触发了 Application_UnhandledException 事件并导致 VS2008 中断执行,但在调试器中继续执行可以使执行继续进行。这不是真正的问题,只是看起来很奇怪。