WPF应用程序记录引起闪退的异常

前提:在做WPF应用程序的时候,有时候部分异常可引发程序的闪退,如果不在现场甚至很难发现Bug出现在哪里,甚至哪个页面都不能定位到。

未捕获的异常处理:

  • 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.html

赞 (0) 评论 分享 ()