#49 – Unhandled Exceptions(未处理的异常)

原文地址:https://wpf.2000things.com/2010/08/30/49-unhandled-exceptions/


当一个在代码中没有处理的异常在WPF应用程序中抛出的时候,会导致一个未处理的异常并且程序强制退出。这会导致窗口出现下面类似的画面:

当它发生的时候,程序会立刻退出,用户根本没有机会保存未完成的工作,并且用户无法获得其它有用的信息。总之,程序崩溃。

我们可以通过处理Application.DispatcherUnhandledException 事件来解决这类异常。在下面的例子中,我们显示错误信息,并且设置Handled 属性,防止程序被关闭。

private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
    string friendlyMsg = string.Format("SO sorry that something went wrong.  The error was: [{0}]", e.Exception.Message);
    string caption = "Error";
    MessageBox.Show(friendlyMsg, caption, MessageBoxButton.OK, MessageBoxImage.Error);
 
    // Signal that we handled things--prevents Application from exiting
    e.Handled = true;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值