在 WP7 应用程序中显示错误页面
只是想检查一下我没有错过任何明显的事情。没有办法从 UnhandledException 处理程序将用户导航到“哎呀发生了一些不好的事情”页面吗?
其他人在做什么
我知道我可以“处理”错误并弹出消息框,但我更喜欢整个页面为他们提供提交错误报告的机会。
我看到的示例只是直接设置 RootFrame,但我看到这只会造成一个混乱的 UI,看起来像是一个页面显示在另一个页面的顶部
TIA
Pat
Just want to check I have not missed anything obvious. There is no way to Navigate the user to a "ooops something bad has happened" page from the UnhandledException handler is there?
What is everyone else doing
I know I can "handle" the error and popup up messagebox but I would prefer a whole page offering them the oppurtunity to file a bug report.
The samples I have seen simply set the RootFrame directly but I have seen that just makes for a messy UI with what looks like a Page displayed on top of another page
TIA
Pat
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您收到 UnhandledException,它会在您的应用程序即将关闭时发生。在这种情况下,您能做的最好的事情就是警告用户出现了问题(使用消息框或类似的),但要做好准备,这可能不会长时间显示给用户,具体取决于实际的异常情况。
当发生未处理的异常时,不必尝试继续执行应用程序功能,只需保存异常的详细信息即可。然后,当应用程序下次启动时,向用户显示一条消息,指示“该应用程序上次运行时出现问题”。您还可以利用此机会向您自己/您的网络报告服务发送异常详细信息,以便您可以分析问题并在未来版本中修复/预防它们。
If you get an UnhandledException it occurs while your applicaiton is about to be shut down. The best you can do in this situation is warn the user that something went wrong (using a messagebox or similar) but be prepared that this may not be displayed to the user for long, depending on the actual exception.
Rather than try and continue executing application functionality when an unhandled exception occurs, simply save the details of the exception. Then, when the application is next started, display a message to the user to indicate that "the last time that app ran there was a problem". You can also use this opportunity to send exception details to yourself/ your web reporting service so you can analyse the issues and fix/prevent them in a future version.
您可以调用 RootFrame.Navigate(your errorPage) 导航到 UnhandledException 处理程序中的自定义错误页面。
基本上,使用自定义 MessageBox 来显示简单易用的错误信息并提供发送错误报告的按钮是很常见的。并且这篇文章是MSDN指出的在最佳实践中,错误信息不是一个单独的页面。
You can call RootFrame.Navigate(your errorPage) to navigate to your custom error page in the UnhandledException handler.
Basically, using a custom MessageBox to show a nice easy-going error info and providing an button to send bug report is very common. And this article is MSDN pointed out that errorinfo not be a separate page in best practice.