在Swift赋值中处理NS库抛出异常的更干净的方法?

8ehkhllq  于 2023-02-07  发布在  Swift
关注(0)|答案(1)|浏览(102)

我在Swift代码中使用NSRegularExpression是因为它需要在较旧的平台上运行。factory方法抛出,所以我们需要捕获错误--这确实发生在我的代码中(我输入了一些疯狂的模式)。我使用以下代码调用它:

let regex: NSRegularExpression
do {
   regex = try NSRegularExpression(pattern: pattern, options: [.caseInsensitive])
} catch {
    return false
}

Swift提供了guard let模式来处理可选项,这使得可选项更加清晰和自文档化,因为它将变量暴露给封闭的作用域,并使逻辑单行化。guard case也很有用。对于throw,是否有类似的语法糖?

bq8i3lrv

bq8i3lrv1#

你可能是说

guard let regex = try? NSRegularExpression(...) else { return false }

相关问题