我应该准备什么样的coredata错误?

时间:2011-07-30 19:06:15

标签: iphone objective-c core-data error-handling

我有一个应用程序接近发布日期,但我想到,无论我有核心数据保存和/或获取请求,我都不是真正处理错误,而不是检查它们是否存在和@throw它们,对于经验丰富的程序员来说,我肯定看起来几乎就像黑板上的钉子一样,当然还有某种灾难等待发生。

所以具体来说,我可以期待什么样的错误A)Fetches,B)保存,以及C)一般来说,我应该如何处理这些?

1 个答案:

答案 0 :(得分:3)

您可以看到Core Data Constants Reference,了解一般可以看到的错误类型。

对于提取,最常见的问题是提取返回一个空数组。确保视图控制器,数据源和委托可以处理空的提取。如果动态构造复杂谓词,请确保从无效谓词中捕获异常。

大多数保存错误都是由验证错误引起的。您应该为每个提供的验证进行错误恢复。一个常见且有些隐藏的验证错误是没有提供所需的关系。

使用Objective-c绊倒人们的一件事是,错误和异常与其他语言的生物略有不同。在Objective-C中,程序员应该在应用程序的正常操作中预期和计划错误,例如,丢失的文件。相比之下,例外是 例外 ,程序员不希望应用程序必须例行处理例如一个损坏的文件。

因此,在核心数据中,验证失败将是常见的预期和非常规 错误 ,而损坏的持久存储将是罕见的,意外的和非常特殊的 例外

有关详细信息,请参阅Exceptions Programming GuideError Handling Programming Guide