0
因此,我有一个对象列表,在本例中为ExceptionInfo
。这些对象包含要放入Exception对象的信息。但是,异常是嵌套的,分配异常对象的InnerException
属性的唯一方法是在构造时指定它。通过迭代将对象列表转换为嵌套对象集合
所以,我hvae像这样:
static Exception ListToNestedExceptions(List<ExceptionInfo> l, int index=0)
{
if (index > l.Count)
{
return null;
}
var e = new Exception("", ListToNestedExceptions(l, ++index));
e.Data[ExceptionDataKeys.StackTrace] = l[index].Stacktrace;
return e;
}
我知道,在理论上是可以做到与迭代一切都是可能递归,但是,我看不出怎么会在这里申请。我对这个版本很好,但出于好奇,是否有可能把它变成一个交互版本?此外,这甚至可以应用尾调用优化?
哇,所以你只需要做倒退。那很整齐 – Earlz