我得到了一個OutOfMemoryException
更早,無法弄清楚它是什麼。它根本沒有意義。在我的代碼中挖掘出來,突然想起某處忘記檢查null,在這個特定情況下,它確實是(而且應該是)。在我看來,這不應該導致OutOfMemoryException
,但我當然會修正它。當我這樣做時,異常不再出現!C#:爲什麼我得到一個NullReferenceException的OutOfMemoryException?
所以我再次取消了檢查,並研究了我得到更多的異常。原來它有一個InnerException類型NullReferenceException
和堆棧跟蹤當然使很多更有意義。
但爲什麼我得到OutOfMemoryException
?這從未happend到我面前......沒有意義的,我...
很樂意給一些背景,但真的不能說太多,而無需上傳整個項目,我不能(你不想通過任何方式閱讀:p)。但它的發生的具體地點如下:
{
foreach (var exportParameter in exportParameters)
{
// Copy to local
var ep = exportParameter;
// Load stored values from db
...
}
int i = 1;
exportParameters
.OrderBy(ø => ø.Sequence)
.ForEach(ø => { if (!ø.Locked) ø.Sequence = i++; });
}
的修復是代碼塊之前,把一個if(exportParameters != null)
。 exportParameters
是List<ExportParameter>
,除了在其爲null
的失敗案例中。
沒辦法說沒有一些額外的上下文。 – 2009-06-10 12:06:13