Realm throw catch swift 2.0

Realm throw catch swift 2.0

有谁知道以下领域函数的 try-catch 语法是什么?

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)
}

看起来好像抛出了 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
}