当 ind.row 不是有效值或有时它变为 nil 时,我使用以下代码来捕获错误
@try {
if(ind.row<[[treeNode flattenElements] count])
{
[self.mTableView scrollToRowAtIndexPath:ind atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
}
@catch (NSException *e) {
NSLog(@"%@",e);
}
但是当此代码执行时有时会发生此错误
Assertion failure in -[NSIndexPath row], /SourceCache/UIKit_Sim/UIKit-1262.60.3/UITableViewSupport.m:1948`
此错误的原因可能是什么以及为什么未处理异常
最佳答案
iOS 中的断言不会引发异常,因此您无法捕获它们。
您需要找出对 -row
的调用出了什么问题。我的第一个猜测是“ind”已经被释放了或者什么的。
关于iphone - try 和 catch 不处理 iPhone 中的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876904/