您是否有办法处理WPF应用程序中的所有错误异常和崩溃?我知道 DispatcherUnhandledException ,但它只处理UI线程中的异常,不是吗?有没有办法捕获并记录其他线程中的所有异常?和绑定错误呢?你如何在enterprice系统中实现这种要求?
答案 0 :(得分:10)
AppDomain.CurrentDomain.UnhandledException
将捕获当前线程的任何未处理的异常。这就是我们在应用程序中处理它的方式。
始终处理BindingErrors并将其记录到输出窗口。在发布之前,我们检查输出窗口是否存在绑定错误并尽可能多地修复。
然而,我认为您不希望将绑定错误视为未处理,因为它们大部分可以恢复,并且应该在每次发布之前尽可能地修复。你可以改变Debug> Visual Studio中的Exeptions使其抛出BindingFailure以获取更具体的信息。
HTH,
丹尼斯
答案 1 :(得分:4)
是的,有3个地方:
Application.Run()
放入try
... catch
DispatcherUnhandledException
AppDomain.CurrentDomain.UnhandledException
在任何一种情况下,您都应该显示请原谅我的消息并建议发送错误报告。
服务器上的服务应该回答“感谢您提交错误报告”或“问题已在下一版本中修复”。请更新'
答案 2 :(得分:3)
请记住,Microsoft不建议捕获所有异常,而是建议仅捕获您知道的(或预期在某些地方发生的异常)。如果您希望获得“Microsoft [Windows | Vista]认证”徽标,则不能捕获未知异常,并且此类例外必须转至Wer。
答案 3 :(得分:1)