gpt4 book ai didi

cocoa - 核心数据中的错误处理

转载 作者:行者123 更新时间:2023-12-03 16:15:19 24 4
gpt4 key购买 nike

几周前,我第一次开始在一个不平凡的应用程序中使用 Core Data。让我感到惊讶和困惑的事情之一是错误处理的工作原理。举个例子,我尝试的第一件事就是在 Finder 中将数据文件设置为“锁定”,以确保在设置文件 URL 时正确处理通过引用返回的 NSError 对象。令我惊讶的是,持久存储协调器没有返回 nil 并设置 NSError,而是从底层 NSData 引发了一个未捕获的异常!

同时,在 Core Data 中,错误处理有时似乎有点不必要。例如,我没有看到任何明显的原因说明为什么获取请求需要除程序员错误之外的错误处理(顺便说一句,根据我的经验,这也会引发异常)。在这些情况下,我一直为 NSError 引用指针传递 NULL。

在 try/catch block 和 NSError 之间,我可能会花费大量时间编写代码来安抚 Core Data,但我想实际一点,这样我就不会花时间在永远不会运行的错误代码上。考虑到这一点,您如何在应用程序中处理错误?您在现实世界中看到了哪些应该确保解决的错误?

最佳答案

Apple 自 1.4 以来一直采取的错误处理方向是 NSError,用于应用程序应该了解的错误(如您上面所述的错误)和编程错误的异常(永远不应该通过 QA)。

一般来说,您在编程时应该牢记这些准则。当您发现这样的问题时,您可以根据您发现的实际结果暂时编写一个处理程序,但您也应该立即向 Apple 发布错误报告,因为这种模式与他们采用的模式相反。

您可以将错误报告发布至 http://bugreport.apple.com/ 。您将需要一个 ADC 帐户,但您可以使用免费帐户发布错误报告。我发现他们对开发工具包中的错误和此类问题非常敏感,其中框架的行为与他们声明的设计模式相矛盾。

关于cocoa - 核心数据中的错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/297101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com