WPF應用程序記錄引發閃退的異常

前提:在作WPF應用程序的時候,有時候部分異常可引起程序的閃退,若是不在現場甚至很難發現Bug出如今哪裏,甚至哪一個頁面都不能定位到。html

未捕獲的異常處理:ide

  • C#在Application類中提供了DispatcherUnhandledException事件,用於處理UI線程上未捕獲的異常
/// <summary>
    /// App.xaml 的交互邏輯
    /// </summary>
    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            DispatcherUnhandledException += App_DispatcherUnhandledException;
            base.OnStartup(e);
        }

        void App_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
        {
            //e.Exception   發生的異常
            //e.Handled	 是否已處理異常事件
            DataLog.SaveLog("程序異常:" + e.Exception.Source + "@@" + e.Exception.Message);
        }
    }

具體能夠參考:http://www.cnblogs.com/liuyueyu/p/4476151.htmlspa

相關文章
相關標籤/搜索