使用 ??运算符并抛出Swift

时间:2016-08-04 22:26:15

标签: swift swift3

我不能在Swift 3中写这个。

let x = dict["key"] ?? throw SomeError()

它无法编译。 (我现在正在使用Xcode 8 beta 4。)我想这是因为throw SomeError()不被视为表达式?

正如你可能猜到的那样,我试图将x设置为值,否则抛出它。这样做的最简单的语法是什么?

1 个答案:

答案 0 :(得分:5)

您可以使用guard statement

guard let x = dict["key"] else {
    throw SomeError()
}

// now you can use x and sure it is not nil
print(x)