在Swift中捕获异常?

时间:2015-07-23 04:31:25

标签: swift

根据我的理解,如果没有将throw集成到你的函数中,就不可能在Swift中捕获异常。

换句话说,以下不起作用,其中myArr只有5个项目:

        do {
        var someItem = try myArr[10]
        }
        catch {
            print("something went wrong")
        }

任何人都可以在Swift中确认上述简单的try / catch是不可能的?换句话说,您不必构建一些精细的元异常函数来处理异常吗?

1 个答案:

答案 0 :(得分:0)

正确,但您还有其他选择。您可以先查看10 < myArr.count

或者,查看Erica Sadun在Safe array indexing上的帖子:

// Erica Sadun / Mike Ash
// http://ericasadun.com/2015/06/01/swift-safe-array-indexing-my-favorite-thing-of-the-new-week/
extension Array {
    subscript (safe index: UInt) -> Element? {
        return Int(index) < count ? self[Int(index)] : nil
    }
}