我正在执行以下代码来更新我的本地商店:
do {
// Update our normalized local store immediately for a responsive UI
try transaction?.update(query: PostsQuery()) { (data: inout PostsQuery.Data) in
data.allPosts?.append(PostsQuery.Data.AllPost.init(id: uniqueId, title: mutation.title, author: mutation.author, content: mutation.content, version: 0))
}
} catch {
print("Error updating the cache with optimistic response.")
}
追加是正确地向数组添加一个项目,这将向我表明该尝试正在运行。但是,控制台打印出“使用乐观响应更新缓存时出错”。消息。
我的理解是,只有当try语句不成功时才会打印出catch语句?不确定如何运行try语句的完成以及catch语句是否打印?
答案 0 :(得分:1)
更新代码以打印错误的详细信息。
do {
// Update our normalized local store immediately for a responsive UI
try transaction?.update(query: PostsQuery()) { (data: inout PostsQuery.Data) in
data.allPosts?.append(PostsQuery.Data.AllPost.init(id: uniqueId, title: mutation.title, author: mutation.author, content: mutation.content, version: 0))
}
} catch let error {
print(error)
}
只有在do块中抛出错误时才会调用catch块,因此您需要查看错误是什么并处理该情况