Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. public static class ExceptionExtensions
  2. {
  3. private static void ExplainException(
  4. Exception exception, int level, StringBuilder builder)
  5. {
  6. if (exception == null) return;
  7.  
  8. builder.AppendFormat(
  9. "{0}@{1}: {2}\n{3}\n",
  10. exception.GetType().GetFriendlyName(),
  11. level,
  12. exception.Message,
  13. exception.StackTrace);
  14.  
  15. var aggregate = exception as AggregateException;
  16. var exceptions =
  17. aggregate != null
  18. ? aggregate.InnerExceptions
  19. : Enumerable.Repeat(exception.InnerException, 1);
  20.  
  21. foreach (var inner in exceptions)
  22. ExplainException(inner, level + 1, builder);
  23. }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement