Apakah ada cara untuk menulis kode "tangan pendek" gaya LINQ untuk berjalan ke semua tingkat InnerException (s) of Exception yang dilempar? Saya lebih suka menulisnya di tempat daripada memanggil fungsi ekstensi (seperti di bawah) atau mewarisi Exceptionkelas.
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;
}
};