andrew4582

GetExceptionMessage

Feb 3rd, 2011
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.83 KB | None | 0 0
  1.     public static string GetExceptionMessage(Exception exception)
  2.         {
  3.             if (exception == null)
  4.             {
  5.                 return string.Empty;
  6.             }
  7.  
  8.             string message = "Exception [" + exception.GetType().Name;
  9.             if (string.IsNullOrEmpty(exception.Message) == false)
  10.             {
  11.                 message += ", " + exception.Message;
  12.             }
  13.             message += "]";
  14.  
  15.             if (exception.InnerException != null)
  16.             {
  17.                 message += ", Inner [" + exception.InnerException.GetType().Name;
  18.                 if (string.IsNullOrEmpty(exception.InnerException.Message) == false)
  19.                 {
  20.                     message += ", " + exception.InnerException.Message;
  21.                 }
  22.             }
  23.             message += "]";
  24.            
  25.             if(exception.Data.Count > 0){
  26.                 message += ", Data [";
  27.                 foreach(var key in exception.Data.Keys)
  28.                 {
  29.                     message += " ";
  30.                     if(exception.Data.Keys.Count > 1)
  31.                         message += "\r\n";
  32.                     else
  33.                         message += " ; ";
  34.                    
  35.                     var d = exception.Data[key];
  36.                     if(d==null)
  37.                         d=string.Empty;
  38.                    
  39.                     message += string.Format("{0,-20}:  {1}",key,d);
  40.                    
  41.                 }
  42.                 message += "]";
  43.             }
  44.             if(!string.IsNullOrEmpty(exception.StackTrace)){
  45.                 message += ", Stack [";
  46.                 message += exception.StackTrace;
  47.                 message += "]";
  48.             }
  49.             if(!string.IsNullOrEmpty(exception.Source)){
  50.                 message += ", Source [";
  51.                 message += exception.Source;
  52.                 message += "]";
  53.             }
  54.             if(!string.IsNullOrEmpty(exception.HelpLink)){
  55.                 message += ", HelpLink [";
  56.                 message += exception.HelpLink;
  57.                 message += "]";
  58.             }
  59.            
  60.             if(exception.TargetSite != null){
  61.                 message += ", TargetSite [";
  62.                 message += exception.TargetSite.Name;
  63.                 message += "]";
  64.             }
  65.            
  66.             return message;
  67.         }
Advertisement
Add Comment
Please, Sign In to add comment