码迷,mamicode.com
首页 > 其他好文 > 详细

UWP 中的全局异常处理

时间:2019-12-14 09:36:58      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:sharp   code   打开   tps   lob   用户   def   window   添加   

原文:UWP 中的全局异常处理

问题

在开发一款应用的过程中,我们开发者很难考虑到所有问题,往往会忘记处理一些可能发生的异常。随之而来的结果就是用户使用过程中接连不断的崩溃。所以,我们有必要处理所有未被我们处理的异常。

思路

我们需要做的是,在错误发生时保存用户数据,然后将错误直接展示在用户界面上。

解决

首先,我们打开项目中的 App.xaml.cs,修改以下代码:

public App()
{
    this.InitializeComponent();
    this.Suspending += OnSuspending;
    UnhandledException += OnUnhandledException;
}

在此,我们为 UnhandledException 事件添加了处理方法 OnUnhandledException

然后,我们就可以来写 OnUnhandledException 了:

private async void OnUnhandledException(object sender, UnhandledExceptionEventArgs e)
{
    e.Handled = true;
    //TODO: 保存用户数据
    await new ContentDialog
    {
        Title = "发生错误",
        Content = e.Message,
        CloseButtonText = "关闭",
        DefaultButton = ContentDialogButton.Close
    }.ShowAsync();
}

写完之后就大功告成了。此后发生未处理的异常时,我们的程序会先保存用户数据(如果你写了相关代码),然后弹出一个 ContentDialog 来显示发生的错误。这样就彻底和之前的崩溃说拜拜啦。

相关链接

UWP 中的全局异常处理

标签:sharp   code   打开   tps   lob   用户   def   window   添加   

原文地址:https://www.cnblogs.com/lonelyxmas/p/12037908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!