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