Add error handling for dictionary save operations

This commit is contained in:
Beingpax 2025-12-28 12:19:36 +05:45
parent 4e551926e7
commit a631043167
3 changed files with 36 additions and 8 deletions

View File

@ -159,8 +159,13 @@ struct EditReplacementSheet: View {
// Update the replacement // Update the replacement
replacement.originalText = newOriginal replacement.originalText = newOriginal
replacement.replacementText = newReplacement replacement.replacementText = newReplacement
try? modelContext.save()
dismiss() do {
try modelContext.save()
dismiss()
} catch {
alertMessage = "Failed to save changes: \(error.localizedDescription)"
showAlert = true
}
} }
} }

View File

@ -154,12 +154,24 @@ struct VocabularyView: View {
let newWord = VocabularyWord(word: normalizedWord) let newWord = VocabularyWord(word: normalizedWord)
modelContext.insert(newWord) modelContext.insert(newWord)
try? modelContext.save()
do {
try modelContext.save()
} catch {
alertMessage = "Failed to add word: \(error.localizedDescription)"
showAlert = true
}
} }
private func removeWord(_ word: VocabularyWord) { private func removeWord(_ word: VocabularyWord) {
modelContext.delete(word) modelContext.delete(word)
try? modelContext.save()
do {
try modelContext.save()
} catch {
alertMessage = "Failed to remove word: \(error.localizedDescription)"
showAlert = true
}
} }
} }

View File

@ -221,15 +221,26 @@ struct WordReplacementView: View {
// Add new replacement // Add new replacement
let newReplacement = WordReplacement(originalText: original, replacementText: replacement) let newReplacement = WordReplacement(originalText: original, replacementText: replacement)
modelContext.insert(newReplacement) modelContext.insert(newReplacement)
try? modelContext.save()
originalWord = "" do {
replacementWord = "" try modelContext.save()
originalWord = ""
replacementWord = ""
} catch {
alertMessage = "Failed to add replacement: \(error.localizedDescription)"
showAlert = true
}
} }
private func removeReplacement(_ replacement: WordReplacement) { private func removeReplacement(_ replacement: WordReplacement) {
modelContext.delete(replacement) modelContext.delete(replacement)
try? modelContext.save()
do {
try modelContext.save()
} catch {
alertMessage = "Failed to remove replacement: \(error.localizedDescription)"
showAlert = true
}
} }
} }