/// <summary> /// 数据执行函数(异常写入日志) /// </summary> /// <typeparam name="T">数据块</typeparam> /// <param name="func">执行委托</param> /// <returns></returns> protected T Context <T>(Func <DBLocal, T> func) { T tmp = default; DBLocal dBLocal = null; try { dBLocal = new DBLocal(); tmp = func(dBLocal); } catch (Devart.Data.SQLite.SQLiteException ex) { ServerKeeper.Instance.DBLocalKeeper.DBObject <S_Log>().Error("SQLiteException", $"错误信息:{ex.InnerException.Message}\r位置:{ex.InnerException.StackTrace}"); } catch (Devart.Data.Linq.LinqCommandExecutionException ex) { ServerKeeper.Instance.DBLocalKeeper.DBObject <S_Log>().Error("LinqCommandExecutionException", $"错误信息:{ex.InnerException.Message}\r位置:{ex.InnerException.StackTrace}"); } catch (Exception ex) { ServerKeeper.Instance.DBLocalKeeper.DBObject <S_Log>().Error("Exception", $"错误信息:{ex.InnerException.Message}\r位置:{ex.InnerException.StackTrace}"); } finally { if (dBLocal == null) { dBLocal.Dispose(); } } return(tmp); }
/// <summary> /// 数据执行函数(异常不写入日志) /// </summary> /// <typeparam name="T">数据块</typeparam> /// <param name="func">执行委托</param> /// <returns></returns> protected T ContextNoLog <T>(Func <DBLocal, T> func) { T tmp = default; DBLocal dBLocal = null; try { dBLocal = new DBLocal(); tmp = func(dBLocal); } catch (Devart.Data.SQLite.SQLiteException ex) { throw ex; } catch (Devart.Data.Linq.LinqCommandExecutionException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { if (dBLocal == null) { dBLocal.Dispose(); } } return(tmp); }
static void Main(string[] args) { Persona oPersona = new Persona(); List <Persona> lPersonas = oPersona.GenerarListado(); if (!DBLocal.VerificaConexion()) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Offline"); } else { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Online"); } Console.ForegroundColor = ConsoleColor.White; foreach (Persona oPer in lPersonas) { Console.WriteLine(oPer.ToString()); } Console.ReadLine(); }