我有以下递归代码,我得到一个stackoverflow异常。我找不出根本原因,因为一旦我得到异常,我没有在Visual Studio中获得完整的调用堆栈。我怎么能抓住递归代码上的stackoverflow异常的根
这个想法是有组织团队成为更大的“主”团队。
有没有人看到下面的代码可能是罪魁祸首的缺陷?
private Unit GetUnit(Unit organisationalUnit)
{
if (organisationalUnit.IsMainUnit)
{
return organisationalUnit;
}
if (organisationalUnit.Parent == null)
return null;
return GetUnit(organisationalUnit.Parent);
}
所以这是一个数据问题,一个单位的父母被设置为自己,但你的代码建议检查这个问题解决了我的问题。 。 – leora 2010-07-13 12:30:14
@ooo我很高兴。错误重演。像历史一样:-) – Mau 2010-07-13 12:41:53
这不会涵盖所有情况,有些周期可能会更深一些,比如'Unit'是它自己的祖父母。 – 2010-07-13 12:56:35