【问题标题】:Exception.Message V Exception.InnerException.MessageException.Message V Exception.InnerException.Message
【发布时间】:2014-04-24 02:19:37
【问题描述】:

我目前正在记录错误,并希望尽可能获得最具描述性的详细信息。我知道我可以捕获许多不同类型的异常,但Exception.MessageException.InnerException.Message 有什么区别?

【问题讨论】:

    标签: exception exception-handling


    【解决方案1】:

    程序可以捕获异常并重新引发不同异常,将原始捕获的异常作为 InnerException 传递。例如,Exception(String, Exception) 构造函数就是这样做的。这发生在 .NET Framework 本身中,TypeInitializationException、TypeLoadException、TargetInvocationException 等都是以这种方式引发的。

    内部异常完全与引发的异常无关,非常非常重要的是,您也要记录内部异常,以便有希望诊断出问题的根本原因。 p>

    最简单的方法是对异常对象使用 ToString() 方法。它提供异常消息、堆栈跟踪并遍历内部异常。您需要的一切。

    【讨论】:

    • 现在这对我来说很有意义!感谢汉斯提供的信息远远超出我的预期。
    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多