ios - Swift 2.0 中的 do { } catch 不会处理从这里抛出的错误

标签 ios xcode swift

在我更新 swift 2.0 后,do { try } catch 出现错误,如下图所示。

enter image description here

我该如何解决这个问题? 谢谢!

最佳答案

错误告诉您封闭的 catch 并不详尽。这是因为自动生成的 catch block 只捕获 NSError 对象,编译器无法判断是否会抛出其他一些 ErrorType .

如果您确定不会抛出其他错误,您可以添加另一个默认的 catch block :

do {
    objects = try managedObjectContext?.executeFetchRequest(request)
} catch let error1 as NSError {
    error = error1
    objects = nil
} catch {
    // Catch any other errors 
}

关于ios - Swift 2.0 中的 do { } catch 不会处理从这里抛出的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32650050/

相关文章:

ios - 如何在 func 中将类类型定义为参数?

ios - Alamofire 不会在 podfile 中使用 osx 而不是 ios

xcode - 无法使用 Dictionary<Generic, Generic> 类型的参数列表调用 <function>

ios - 将设备更新到 iOS 11 后 3D 模型颜色发生变化

ios - xcode 10 错误 : multiple commands produce - react native

xcode - 如何在 Xcode 4 中向后搜索?

ios - 使用 Swift 在 iOS 8 中将角标(Badge)添加到应用程序图标

ios - 无法保存 Realm DB 文件中的更改

ios - 有什么方法可以打开这个 Xcode 项目?

ios - GPUImage3 无法将视频导出到文档目录