【发布时间】:2010-09-22 18:20:23
【问题描述】:
几周前,我第一次在一个重要的应用程序中使用 Core Data。让我感到惊讶和困惑的一件事是错误处理的工作原理。举个例子,我尝试的第一件事是在 Finder 中将我的数据文件设置为“锁定”,以确保在设置文件 URL 时正确处理引用返回的 NSError 对象。令我惊讶的是,持久存储协调器没有返回 nil 并设置 NSError,而是从底层 NSData 引发了一个未捕获的异常!
同时,有时在 Core Data 中似乎有些不必要的错误处理。例如,我看不出任何明显的原因,为什么 fetch 请求需要除程序员错误之外的错误处理(顺便说一句,根据我的经验,这也会引发异常)。在这些情况下,我一直在为 NSError 引用指针传递 NULL。
在 try/catch 块和 NSError 之间,我可能会花很多时间编写代码来安抚 Core Data,但我想在这方面变得实用,所以我不会花时间在永远不会运行的错误代码上。考虑到这一点,您如何处理应用程序中的错误处理?您在现实世界中发现了哪些错误,您应该确保对其进行解释?
【问题讨论】:
标签: cocoa core-data error-handling