title: Getting all messages from InnerException(s)?
body: <p>Is there any way to write a LINQ style "short hand" code for walking to all levels of InnerException(s) of Exception thrown? I would prefer to write it in place instead of calling an extension function (as below) or inheriting the <code>Exception</code> class. </p>
  
  <pre><code>static class Extensions
  {
      public static string GetaAllMessages(this Exception exp)
      {
          string message = string.Empty;
          Exception innerException = exp;
  
          do
          {
              message = message + (string.IsNullOrEmpty(innerException.Message) ? string.Empty : innerException.Message);
              innerException = innerException.InnerException;
          }
          while (innerException != null);
  
          return message;
      }
  }; 
  </code></pre>