CNContactStore保存错误

时间:2015-06-23 13:44:39

标签: swift error-handling contacts swift2

CNContactStore的executeSaveRequest(_:)方法根据文档引发错误。

我试图在do/catch中捕获此错误,但我无法弄清楚我需要捕获的错误。

do{
  try store.executeSaveRequest(saveRequest)
} catch *???* {
  //alert the user
}

什么应该替换上面代码中的????

1 个答案:

答案 0 :(得分:2)

实际上你有几个选择。

在不知道错误的情况下捕获任何错误

catch {...}

  1. 使用特定错误消息捕获任何错误
  2. catch let error { // Use error }

    1. 使用exhaustive catch clauses使用CNErrorCode枚举处理特定错误。

      enum CNErrorCode : Int {
      
          case CommunicationError
          case DataAccessError
      
          case AuthorizationDenied
      
          case RecordDoesNotExist
          case InsertedRecordAlreadyExists
          case ContainmentCycle
          case ContainmentScope
          case ParentRecordDoesNotExist
      
          case ValidationMultipleErrors
          case ValidationTypeMismatch
          case ValidationConfigurationError
      
          case PredicateInvalid
      
          case PolicyViolation
      }