思路
較好的兩種處理方式
1、在發(fā)生異常這一級(jí)處理
2衣迷、當(dāng)很多地方出現(xiàn)相同的異常畏鼓,統(tǒng)一拋到App級(jí)中,用統(tǒng)一的方法處理(自己寫一個(gè)異常類)
全局異常處理
在App里面蘑险,處理異常滴肿,并標(biāo)記為“已處理”
public App()
{
//處理UI線程異常
Application.Current.DispatcherUnhandledException += CurrentDomain_UnhandledException;
}
private static void CurrentDomain_UnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
var str = "";
var error = e.Exception;
var strDateInfo = "出現(xiàn)應(yīng)用程序未處理的異常:" + DateTime.Now + "\r\n";
if (error != null)
{
str = string.Format(strDateInfo + "Application UnhandledException:{0};\n\r堆棧信息:{1}", error.Message,
error.StackTrace);
}
else
{
str = string.Format("Application UnhandledError:{0}", e);
}
MessageBox.Show("很抱歉,當(dāng)前程序遇到一些問題佃迄,該操作已終止泼差,請(qǐng)檢查網(wǎng)絡(luò)連接贵少,如果問題依然存在,請(qǐng)聯(lián)系管理員", "意外的操作", MessageBoxButton.OK,
MessageBoxImage.Information);
//標(biāo)記為“已處理”
e.Handled = true;
}