【发布时间】:2014-04-24 02:19:37
【问题描述】:
我目前正在记录错误,并希望尽可能获得最具描述性的详细信息。我知道我可以捕获许多不同类型的异常,但Exception.Message 和Exception.InnerException.Message 有什么区别?
【问题讨论】:
标签: exception exception-handling
我目前正在记录错误,并希望尽可能获得最具描述性的详细信息。我知道我可以捕获许多不同类型的异常,但Exception.Message 和Exception.InnerException.Message 有什么区别?
【问题讨论】:
标签: exception exception-handling
程序可以捕获异常并重新引发不同异常,将原始捕获的异常作为 InnerException 传递。例如,Exception(String, Exception) 构造函数就是这样做的。这发生在 .NET Framework 本身中,TypeInitializationException、TypeLoadException、TargetInvocationException 等都是以这种方式引发的。
内部异常完全与引发的异常无关,非常非常重要的是,您也要记录内部异常,以便有希望诊断出问题的根本原因。 p>
最简单的方法是对异常对象使用 ToString() 方法。它提供异常消息、堆栈跟踪并遍历内部异常。您需要的一切。
【讨论】: