CoreDataError.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  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. }
  10. extension CoreDataError: LocalizedError {
  11. var errorDescription: String? {
  12. switch self {
  13. case .creationError:
  14. return String(localized: "Failed to create a new object.", comment: "")
  15. case .batchInsertError:
  16. return String(localized: "Failed to execute a batch insert request.", comment: "")
  17. case .batchDeleteError:
  18. return String(localized: "Failed to execute a batch delete request.", comment: "")
  19. case .persistentHistoryChangeError:
  20. return String(localized: "Failed to execute a persistent history change request.", comment: "")
  21. case let .unexpectedError(error):
  22. return String(localized: "Received unexpected error. \(error.localizedDescription)", comment: "")
  23. case .fetchError:
  24. return String(localized: "Failed to fetch object \(DebuggingIdentifiers.failed).", comment: "")
  25. }
  26. }
  27. }
  28. extension CoreDataError: Identifiable {
  29. var id: String? {
  30. errorDescription
  31. }
  32. }