try
{
Array.Sort(PokeArray, (x1, x2) => x1.Name.CompareTo(x2.Name));
}
catch (NullReferenceException R)
{
throw R;
}
這是一個簡單的代碼行,它對我創建的對象數組進行排序;如果存在空值,則會引發異常。 try catch
塊似乎不起作用。NullReferenceException未捕獲到catch塊(Array.Sort方法)
在這個特定區域發生異常x1.Name.CompareTo(x2.Name)
,Catch塊是否放錯了位置?
謝謝!
如果你想捕捉一個異常並重新拋出它,你應該__always__使用'throw;'而不是'throw ex;'來避免丟失異常的原始堆棧跟蹤。 –
感謝您的快速回復,我只使用thow,它似乎仍然給我同樣的錯誤突出顯示相同的區域是這樣的:「x1.Name.CompareTo(x2.Name)」說NullReferenceException沒有被捕獲,謝謝! –
嘗試捕捉一個普通的異常,看看它是否像'catch(Exception ex)'一樣工作'我知道這很糟糕,但只是爲了看到。 – Tafari