异常信息 V 异常内部异常信息

6

我目前正在记录错误,并希望获得尽可能详细的细节。 我知道可以捕捉许多不同类型的异常,但是Exception.MessageException.InnerException.Message之间有什么区别呢?


请参见 https://dev59.com/UnI95IYBdhLWcg3wvgl9。 - Michael Freidgeim
1个回答

10
一个程序可以捕获异常并重新抛出一个不同的异常,将原始捕获的异常作为InnerException传递。例如,Exception(String, Exception)构造函数就是这样做的。在.NET Framework本身中也会这样发生,TypeInitializationException,TypeLoadException,TargetInvocationException等都是通过这种方式引发的。
内部异常与引发的异常完全无关,非常非常重要的是,您需要记录内部异常以便诊断问题的根本原因。
最简单的方法是使用异常对象上的ToString()方法。它提供了异常消息、堆栈跟踪,并遍历内部异常。一切你所需的都在其中。

现在我明白了!比我想象中得到的信息要多得多。谢谢Hans。 - FlipTop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接