没有人知道下面的领域功能的try-catch语法是?领域抛catch Swift 2.0
realm.write() {
realm.add(whatever)
}
,我发现了以下错误:
call can throw but it is not marked with 'try' and the error is not handled
没有人知道下面的领域功能的try-catch语法是?领域抛catch Swift 2.0
realm.write() {
realm.add(whatever)
}
,我发现了以下错误:
call can throw but it is not marked with 'try' and the error is not handled
从我想象realm.write()可以抛出异常。在Swift 2中,你用do/catch处理异常并尝试。
我怀疑你应该做这样的事情:
do {
try realm.write() {
realm.add(whatever)
}
} catch {
print("Something went wrong!")
}
如果realm.write()抛出一个异常,print语句将被立即调用。
您也可以尝试
try! realm.write {
realm.add(whatever)
}
我看到这是一些Realm文档,但我不明白他们为什么会让所有函数抛出,如果他们从不打算失败。 '试试!'似乎有风险吗? –
它看起来像一个NSError被抛出。见Swift 2.0 source
添加到@ tgebarowski的回答是:
do {
try self.realm.write {
realm.add(whatever)
}
} catch let error as NSError {
print("Something went wrong!")
// use the error object such as error.localizedDescription
}
谢谢!它似乎工作! – Michael