如何使用合并策略捕获Core Data中的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用合并策略捕获Core Data中的错误相关的知识,希望对你有一定的参考价值。

DataBaseService.getContext().mergePolicy = NSMergePolicy.error
Unique attribute is phone. 

当我再次用当前手机保存对象时,我的应用程序崩溃了下一个:

fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=133021 "(null)" UserInfo={conflictList=(
    "NSConstraintConflict (0x600000071cc0) for constraint

我怎么能抓到这个错误?

答案

不确定它是否是您要查找的内容,但您可以将save命令包装在do-catch块中,然后检查catch语句中的错误类型。

  do {
      try managedObjectContext.save()
    }
    catch {
      print (error)
      //Custom logic to handle error
    }

当我遇到类似的问题时,这个链接帮助了我[https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/Concurrency.html#//apple_ref/doc/uid/TP40001075-CH24-SW1]

以上是关于如何使用合并策略捕获Core Data中的错误的主要内容,如果未能解决你的问题,请参考以下文章

vue源码学习--合并策略对象mergeOptions

将 google 对象保存到 Core Data - 以 NSException 错误类型的未捕获异常终止

如果Core Data count / fetch请求中的实体名称错误,如何避免崩溃?

如何从Core Data中的字符串获取Processed字符串

如何使用 Calendar.current.startOfDay 修复由于 Core Data 中的时区导致的错误日期?

合并排序算法中的 C++“以 std::out_of_range:vector 类型的未捕获异常终止”错误