【发布时间】:2015-09-18 11:55:27
【问题描述】:
有谁知道以下领域函数的 try-catch 语法是什么?
realm.write() {
realm.add(whatever)
}
我收到以下错误:
调用可以抛出,但它没有用'try'标记并且错误不是 处理过
【问题讨论】:
有谁知道以下领域函数的 try-catch 语法是什么?
realm.write() {
realm.add(whatever)
}
我收到以下错误:
调用可以抛出,但它没有用'try'标记并且错误不是 处理过
【问题讨论】:
据我想象,realm.write() 可以抛出异常。在 Swift 2 中,您使用 do/catch 和 try 处理异常。
我怀疑你应该这样做:
do {
try realm.write() {
realm.add(whatever)
}
} catch {
print("Something went wrong!")
}
如果 realm.write() 抛出异常,将立即调用 print 语句。
【讨论】:
看起来 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
}
【讨论】:
你也可以试试
try! realm.write {
realm.add(whatever)
}
【讨论】:
try! 似乎有风险不是吗?