我有以下遞歸代碼,我得到一個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