iphone开发 – 如何捕获异常’NSRangeException’

在我的应用程序中,我尝试在更新表格内容后将UITableView滚动到顶部一次.但是,在某些情况下,我的桌子是EMPTY.所以我得到以下异常:

Terminating app due to uncaught exception ‘NSRangeException’, reason: ‘-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: row (0) beyond bounds (0) for section (0).’

我怎么能抓住这个例外?我试过了

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];

if (indexPath != nil) {
    [EventTable scrollToRowAtIndexPath:indexPath
                atScrollPosition:UITableViewScrollPositionTop animated:YES];
}

但它没有捕获异常,因为indexPath不是nil.

在滚动到IndexPath之前,请检查UITableView以确保您尝试滚动到的行和部分分别小于表中的行数和部分数.如果是这样,请不要尝试滚动到该IndexPath.

if ( [tableView numberOfSections] < section || [tableView numberOfRowsInSection] < row )

转载注明原文:iphone开发 – 如何捕获异常’NSRangeException’ - 代码日志