只是想检查我没有错过任何明显的东西。没有办法将用户导航到UnhandledException处理程序中的“发生了一些糟糕的事情”页面吗?
其他人在做什么
我知道我可以“处理”错误并弹出消息框,但我更希望整个页面为他们提供报告错误报告的机会。
我看过的样本只是简单地设置了RootFrame,但我已经看到,这只会让看起来像是在另一页面上显示的页面的杂乱用户界面
TIA
专利
答案 0 :(得分:1)
如果您收到UnhandledException,则会在您的应用程序即将关闭时发生。在这种情况下,您可以做的最好的事情就是警告用户出现了问题(使用消息框或类似内容),但要做好准备,这可能不会长时间显示给用户,具体取决于实际的异常情况。
当发生未处理的异常时,不要尝试继续执行应用程序功能,而只需保存异常的详细信息。然后,当下次启动应用程序时,向用户显示一条消息,指示“该应用程序上次运行时出现问题”。您还可以利用此机会向您自己/您的网络报告服务发送异常详细信息,以便您可以分析问题并在将来的版本中修复/阻止它们。
答案 1 :(得分:0)
您可以调用RootFrame.Navigate(您的errorPage )导航到UnhandledException处理程序中的自定义错误页面。
基本上,使用自定义MessageBox显示一个不错的简单错误信息并提供一个发送错误报告的按钮是非常常见的。 this article is MSDN指出errorinfo在最佳实践中不是一个单独的页面。