组员划水应对方案——Swift 异常处理



你有没有遇到过这样的情况呢?学校大作业 5 人一组,4 人划水,直接变成个人项目;工作里安排 2 个人一起协作,同事却觉得他只用负责加油。这些自顾自划水的人真是令人头疼…那么有什么好的应对方法吗?不学不知道,Swift 语言中的各种异常处理机制提供了一整套应对方案,让我们来看看它有哪些妙计!

##初期应对方案


#####尽早记录分工安排,提前认出划水人——throws
throws 是 Swift 异常处理的重要关键词。它会出现在函数(包括成员函数、构造函数)的签名中,用来表示一个函数是否会抛出异常。换句话说,也就是这个函数会不会在其内部就处理完可能触发的异常。

// 可能抛出异常
func canThrowErrors() throws -> String
// 不会抛出异常
func cannotThrowErrors() -> String

throws的函数的学名叫 throwing function,如果我们把处理异常作为函数的工作,那么 throwing function 其实就是理直气壮的划水人——“我不干了,异常在这儿,你们帮我处理吧”。在 Swift 中,只有 throwing function 才可以抛出异常。有了 throws 这个关键词,相当于每个要划水的函数都要提前和编译器登记,不然就得自己做好异常处理的工作。

// Swift 通过实现遵从 Error 协议的枚举来实现自定义异常
enum SomeError: Error {
    case missing  // 常见划水行为,人间蒸发
    case forgot   // 常见划水行为&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值