iphone - try 和 catch 不处理 iPhone 中的异常

标签 iphone ios nsexception

当 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/

相关文章:

ios - 如何用断点导航器中的定义替换 NSUncaughtExceptionHandler?

iphone - iOS:为什么背景是黑色的?

iphone - 将 UISlider 用于离散值可能是滥用和被应用商店拒绝的原因吗?

iphone Xcode 3.1.4 3.1.2 SDK,观察点不起作用?

ios - For 循环中的 NSURLSession 下载图像数据然后添加到 NSMutableArray

ios - 我应该从头开始在 iOS 6 上学习 iOS 吗?旧的 'Good'学习资料呢?

ios - 如何创建一个只有两列(小时和分钟)的简单(自定义)时间选择器?

ios - 异常 'NSRangeException' ,原因 : '*** -[__NSArrayM objectAtIndex:]: index 19 beyond bounds [0 .. 18]'

ios - 如何正确处理 Swift 2.0 中的 NSFileHandle 异常?

iphone - 忽略 "UIViewController may not respond to [method]"警告的方法