教程 swift tutorial

try? 与 try!

Swift 提供了两种简化错误处理的方式:try? 和 try!,适用于不同场景。

try?

try? 将抛出错误的表达式转换为可选值,如果抛错返回 nil,否则返回正常结果。

swift
func loadData() throws -> String {
    // 可能抛出错误
    return "数据"
}

let result = try? loadData()
if let data = result {
    print("加载成功:\(data)")
} else {
    print("加载失败")
}

`

适合错误可以忽略或无需详细处理的场景。

try!

try! 表示确定不会抛错,直接执行,如果出错程序将崩溃。

swift
let data = try! loadData()
print(data)

适合错误几乎不可能发生,或愿意让程序因错误崩溃的场景,使用时需谨慎。

总结

  • try? 安全,返回可选,适合容错处理。
  • try! 不安全,直接执行,适合确保无错误的代码。

合理选择 try? 和 try!,提高代码健壮性与简洁性。