我'试图从核心数据中删除和反对,我在try catch中尝试了它,如下所示。
do {
try self.managedContext.deleteObject(self.productList[indexPath.row])
} catch let error as NSError {
print("something wrong with the delete : \(error.userInfo)")
}
它说'no calls to throwing functions occur within 'try' expression
和'catch block is unreachable because no errors are throw in 'do' block
。下面的图片给你更多的想法。
为什么会这样。我不知道。怎么解决这个问题。希望你的帮助。
答案 0 :(得分:6)
deleteObject
方法不会抛出。删除Do-Catch
块,警告将消失。警告似乎非常自我解释。
答案 1 :(得分:0)
请确保您在try
抛出之后调用的方法。
示例:
func someThrowingFunction() throws -> Int {
// ...
}
let x = try? someThrowingFunction()
let y: Int?
do {
y = try someThrowingFunction()
} catch {
y = nil
}
有关此内容的更多信息:ErrorHandling