ios - 为什么 Realm 使用 try!在 swift ?

标签 ios swift error-handling realm

为什么 Realm 如此频繁地使用 try!?似乎如果您确定您的调用不会失败,那么您不应该将其设计为 throw - 不是吗?

这是一个示例,来自 realm.io 上的 Swift 页面:

// Get the default Realm
let realm = try! Realm()

// Persist your data easily
try! realm.write {
  realm.add(myDog)
}

对我来说,这意味着它们永远不会失败,那么为什么要抛出构造函数或 write() 呢?

最佳答案

如果您指的是 Realm 中的示例 Swift Docs ,我怀疑 try! 为了简洁起见被大量使用。用户无需过多的脑力开销就可以快速粗略地了解核心概念。

在使用 Realm 的过程中,您可能遇到错误。您稍后会在文档中注意到,在 Realms > Error Handling 中给出了 do-catch 示例的部分。

do {
  let realm = try Realm()
} catch let error as NSError {
  // handle error
}

对我来说,这意味着文档中的代码示例不一定具有生产质量,并且鼓励用户使用 Swift 的相关错误处理功能。

关于ios - 为什么 Realm 使用 try!在 swift ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35376584/

相关文章:

swift - 使用 Xcode 捕获 Swift 代码中的崩溃

objective-c - 释放 iOS 中未使用的属性

ios - 不断在两个 View Controller iOS 之间传递数据

java - 将图像从 Objective-c 上传到服务器时,我收到损坏的文件

swift - 为什么 MLLinearRegressor 每次都返回相同的预测?

ios - 带有点击事件的 UITapGestureRecognizer

objective-c - iOS Pong 开发,碰撞检测

ios - 自动布局视觉格式语言

python - Python韧性: How to retry if exception is NOT of a certain type?

excel - VBA,找不到对象424错误-如何调试?