【发布时间】:2013-06-06 11:43:43
【问题描述】:
我是 iPhone 新手,
我们的团队创建了一个应用程序并上传到“AppStore”,我们还集成了“Bug Sense”。
现在我们的应用因崩溃而受到负面评价,我们在 iPhone/iPad 6.1.3 中测试了我们的应用
在我的错误意义上,我们得到了如下报告:
第一个错误:
-[__NSArrayM objectAtIndex:]: index 0 beyond bounds for empty array [open]
第二次错误:
-[__NSArrayM objectAtIndex:]: index 61 beyond bounds for empty array [open]
现在在我的项目中,我将 @try{ } catch 块放置到使用“objectAtIndex”的方法中以防止崩溃,
我也设置了条件,即如果数组计数大于“0”,那么只有它会进入我使用“objectAtIndex”的条件
我的问题是,我们能否通过使用 @try, catch mechanism 来防止上述错误崩溃。
提前致谢
【问题讨论】:
-
嗯,处理数组边界错误的最好方法是不让它们出现——首先编写合理的代码并预先检查是否有任何可疑的理由。在某些情况下你可以使用 try/catch 来捕捉错误,但是 Objective-C 的异常机制并不是特别健壮,依赖它是不明智的。
-
另请注意,如果您捕获到异常,则意味着您的代码中的某些功能未完成。现在,这可能是一些琐碎的格式化事情,或者它可能是对您的整体算法至关重要的操作。任性地捕获和忽略异常可能会导致更大、更混乱的错误。
标签: iphone ios objective-c