/// <summary> /// Returns a formatted message fit for a type init exception. /// </summary> /// <param name="typeInitExc"></param> /// <returns></returns> private static LogMessage GetTypeInitThrowMessage(TypeInitializationException typeInitExc) { LogMessage message = new LogMessage(); message.AddComponent(new LogMessage.MessageComponent("[ ", RED, BLOOD_RED, false)); message.AddComponent(new LogMessage.MessageComponent(typeInitExc.GetType().FullName + " Thrown!", GOLD, null, true)); message.AddComponent(new LogMessage.MessageComponent(" ] -- ", RED, null, false)); message.AddComponent(new LogMessage.MessageComponent("Inner Exception:", ORANGE, null, true)); return(message.ConcatLocal(GetExceptionMessage(typeInitExc.InnerException))); }
/// <summary> /// Returns a formatted message fit for an aggregate exception. /// </summary> /// <param name="aggExc"></param> /// <returns></returns> private static LogMessage GetAggregateThrowMessage(AggregateException aggExc) { LogMessage message = new LogMessage(); message.AddComponent(new LogMessage.MessageComponent("[ ", RED, BLOOD_RED, false)); message.AddComponent(new LogMessage.MessageComponent(aggExc.GetType().FullName + " Thrown!", GOLD, null, true)); message.AddComponent(new LogMessage.MessageComponent(" ] -- ", RED, null, false)); message.AddComponent(new LogMessage.MessageComponent("Inner Exceptions:", ORANGE, null, false)); message.AddComponent(new LogMessage.MessageComponent("\nAggregate Source:\n", DARK_RED, null, true)); message.AddComponent(new LogMessage.MessageComponent((aggExc.StackTrace ?? "Exception was instantiated but not thrown.") + "\n", DARK_RED, null, false)); foreach (Exception inner in aggExc.InnerExceptions) { message = message.ConcatLocal(GetExceptionMessage(inner, true)); } return(message); }