当C#抛出异常时,它可以有一个内部异常.我想做的是获取最内部的异常,或者换句话说,没有内部异常的叶异常.我可以在一段时间内完成这项工作:
while (e.InnerException != null)
{
e = e.InnerException;
}
但我想知道是否有一个班轮我可以用来做这件事.
当C#抛出异常时,它可以有一个内部异常.我想做的是获取最内部的异常,或者换句话说,没有内部异常的叶异常.我可以在一段时间内完成这项工作:
while (e.InnerException != null)
{
e = e.InnerException;
}
但我想知道是否有一个班轮我可以用来做这件事.
Oneliner:)
while (e.InnerException != null) e = e.InnerException;
显然,你不能让它变得更简单.
As said in this answer by Glenn McElhoe, it's the only reliable way.