CoreDataError.swift 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import Foundation
  2. enum CoreDataError: Error {
  3. case creationError
  4. case batchInsertError
  5. case batchDeleteError
  6. case persistentHistoryChangeError
  7. case unexpectedError(error: Error)
  8. case fetchError
  9. case storeNotInitializedError
  10. }
  11. extension CoreDataError: LocalizedError {
  12. var errorDescription: String? {
  13. switch self {
  14. case .creationError:
  15. return String(localized: "Failed to create a new object.", comment: "")
  16. case .batchInsertError:
  17. return String(localized: "Failed to execute a batch insert request.", comment: "")
  18. case .batchDeleteError:
  19. return String(localized: "Failed to execute a batch delete request.", comment: "")
  20. case .persistentHistoryChangeError:
  21. return String(localized: "Failed to execute a persistent history change request.", comment: "")
  22. case let .unexpectedError(error):
  23. return String(localized: "Received unexpected error. \(error.localizedDescription)", comment: "")
  24. case .fetchError:
  25. return String(localized: "Failed to fetch object \(DebuggingIdentifiers.failed).", comment: "")
  26. case .storeNotInitializedError:
  27. return String(localized: "Failed to initialize Core Data's persistent store.", comment: "")
  28. }
  29. }
  30. }
  31. extension CoreDataError: Identifiable {
  32. var id: String? {
  33. errorDescription
  34. }
  35. }