WPF异常捕捉

来源:互联网 发布:电影票房数据 编辑:程序博客网 时间:2024/05/22 05:12


public partial class App : Application{    public App()    {        Application.Current.DispatcherUnhandledException += Application_DispatcherUnhandledException; // UI线程异常捕获        AppDomain.CurrentDomain.UnhandledException += Application_UnhandledException;// 非UI线程异常捕获    }    private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)    {        LogUtil.GetInstance()?.Write(e?.Exception?.Message + Environment.NewLine + e?.Exception?.InnerException?.ToString());    }    private void Application_UnhandledException(object sender, UnhandledExceptionEventArgs e)    {        Exception ex = e?.ExceptionObject as Exception;        LogUtil.GetInstance()?.Write(ex?.Message + Environment.NewLine + ex?.InnerException?.ToString());    }}

Log工具类

public class LogUtil{    private static LogUtil mLogUtil = null;    private static readonly object locker = new object();    public LogUtil()    {    }    public static LogUtil GetInstance()    {        if (null == mLogUtil)        {            lock(locker)            {                if (null == mLogUtil)                {                    mLogUtil = new LogUtil();                }            }        }        return mLogUtil;    }    public void Write(string message)    {        FileStream fs = null;        StreamWriter writer = null;        bool directoryExist = false;        string fileName = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");        try        {            directoryExist = System.IO.Directory.Exists(@".\Log");            if (!directoryExist) // Log目录不存在            {                DirectoryInfo directoryInfo = System.IO.Directory.CreateDirectory(@".\Log"); // 创建Log目录            }            /* 创建log文件 */            fs = new FileStream(@".\Log\" + fileName + ".txt", FileMode.OpenOrCreate, FileAccess.Write);            if (null != fs)            {                writer = new StreamWriter(fs);            }            writer?.Write(message);        }        finally        {            try            {                writer?.Flush();                writer?.Close();                fs?.Close();            }            finally            { }        }    }}





原创粉丝点击