获取所有异常消息,包括C#中的InnerException

时间:2018-07-25 12:48:38

标签: c# exception inner-exception

我如何轻松地将所有异常消息(包括C#中的InnerExceptions)输出到控制台或日志记录中?

2 个答案:

答案 0 :(得分:0)

最简单的方法是编写一个递归函数:

例如:

    public static string ExceptionMessages(Exception ex)
    {
        if (ex.InnerException == null)
        {
            return ex.Message;
        }

        return ex.Message + "  " + ExceptionMessages(ex.InnerException);

    }

这将以单个字符串输出所有消息。

答案 1 :(得分:0)

通常,您只需要循环:

catch (Exception ex)
{
    while (ex != null)
    {
        Console.Error.WriteLine(ex.Message);
        ex = ex.InnerException;
    }
}