Existe alguma maneira de escrever um código de "mão curta" do estilo LINQ para percorrer todos os níveis de InnerException (ões) de Exception lançada? Eu preferiria escrever no lugar em vez de chamar uma função de extensão (como abaixo) ou herdar a Exception
classe.
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;
}
};