沒有人知道下面的領域功能的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