Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Windows Phone异常处理

From Wiki
Jump to: navigation, search
WP Metro Icon Bug.png
SignpostIcon XAML 40.png
SignpostIcon WP7 70px.png
Article Metadata

代码示例
兼容于
文章
WS_YiLunLuo 在 31 Dec 2011 创建
最后由 hamishwillee 在 18 Jul 2013 编辑

这篇文章展示了如何捕捉未处理异常并将错误信息显示在屏幕上。

Contents

简介

在这篇文章中我们将看到如何在我们现有的应用程序中添加简单的几行代码来处理错误。

Error Page

基本理念

在本示例中,我们采用现有的应用程序,ListBox in WP7应用程序。然后,添加一个XAML文件,它将在错误页面中发挥作用,一旦在应用程序中出现未处理的异常,我们将之捕获并将错误信息显示在错误页面上。

实现

右键点击项目 -> Add->New Item -> Windows Phone Portrait Page并给这个页面命名(在此示例中命名为ErrorPage)。在ErrorPage.xaml文件中添加TextBlock来将错误显示在屏幕上。

<Border BorderBrush="White">
<TextBlock x:Name="ErrorText" Style="{StaticResource PhoneTextSmallStyle}" TextWrapping="Wrap" />
</Border>

ErrorPage.xaml.cs添加下面的代码,当页面捕捉到错误时将错误信息显示在屏幕上。

public static Exception Exception;
// 当用户运行程序遇到错误时执行此代码
protected override void OnNavigatedTo(NavigationEventArgs e)
{
ErrorText.Text = Exception.ToString();
}

现在开始捕捉异常并将它传递到App.xaml.cs文件中的Application_UnhandledException()

e.Handled = true;
ErrorPage.Exception = e.ExceptionObject;
(RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source =
new Uri("/ErrorPage.xaml", UriKind.Relative);

为了产生了错误,我们在ListBox in WP7示例中的listBoxFlickerSearch_SelectionChanged()方法做些改动。所以当用户点击菜单项时,它捕捉到错误信息并将它显示在错误页面。

源代码

完整的源代码在如下网站获得:File:ErrorHandler.zip

This page was last modified on 18 July 2013, at 06:37.
173 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×