美文网首页Swift互动教程
6.7 Swift的do-try-catch错误处理模式 [Sw

6.7 Swift的do-try-catch错误处理模式 [Sw

作者: 互动教程网 | 来源:发表于2018-04-11 16:48 被阅读58次

    1. 本节课将为你解析异常捕捉语句,该语句主要用于对异常和错误进行监测和处理。同时通过一个食品出售的实例,演示异常捕捉语句的具体用法。

    image

    2. 首先定义一个Error类型的枚举。

    image

    3. 定义第一个枚举成员,表示没有指定的产品。

    image

    4. 定义第二个枚举成员,表示缺少钱币而无法购买产品,同时显示缺少金钱的数额。

    image

    5. 定义第三个枚举成员,表示货存不足。

    image

    6. 接着定义一个指定名称的结构体,表示用于销售的商品。

    image

    7. 给结构体添加两个属性,表示商品的价格和数量。

    image

    8. 定义一个变量,表示当前硬币的总数。

    image

    9. 定义一个类,表示售货商店。

    image

    10. 给类添加一个数组属性,表示该商店拥有的商品种类、价格和数量。

    image

    11. 添加一个名为销售的方法,用来模拟产品销售的动作。

    image

    12. 和if-let类似,都是根据其后的表达式的布尔值,决定下一步做什么。只是这样做更加简洁,可以避免过多的嵌套。

    image

    13. 通过抛出关键词,抛出异常,即提示错误的具体信息。当需要在函数或者方法里抛出异常,使用throw就可以了。

    image

    14. 判断当商品的价格大于当前硬币总数时,抛出硬币不足的异常。

    image

    15. 当以上异常均未发生时,即可正常进行交易。从硬币总数之中,减去需要购买的商品的价格。

    image

    16. 同时将商品的数量减1。

    image

    17. 然后同步更新产品数组中的,当前被购买的商品的属性信息。

    image

    18. 并在控制台输出当前的商品名称,作为购买的日志。

    image

    19. 现在我们可以模拟商品的销售操作了。首先创建一所商店。

    image

    20. 异常捕捉语句就是尝试做一件事情,如果失败则捕获出现的错误。这里首先尝试捕捉非法产品的错误。

    image

    21. 接着尝试捕捉产品库存不足的错误。

    image

    22. 最后捕捉硬币总数不够的错误。

    image

    23. 接着使用try语句,尝试购买指定名称的商品,然后点击显示调试区图标,打开控制台。

    image

    24. 在控制台可以看出,因为商店中没有销售指定的产品,所以输出了非法商品的错误信息。

    image

    25. 现在将购买的商品名称进行修改,此时在控制台输出了商品被购买的日志信息。点击垂直滚动条,查看上方的内容。

    image

    26. 从第45行右侧的结果可以看出,因为购买了一次布丁,所以当前的硬币总数为8。

    image

    27. 当再次购买布丁时,由于硬币总数8,小于布丁价格12,所以控制台输出了硬币不足的错误提示。最后再次点击此图标,关闭控制台,并结束本节课程。

    image

    image

    image

    本文整理自:《Swift4互动教程》,真正的[手把手]教学模式,用最快的速度上手iOS开发和Swift语言,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1320746678,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

    相关文章

      网友评论

        本文标题:6.7 Swift的do-try-catch错误处理模式 [Sw

        本文链接:https://www.haomeiwen.com/subject/ggdzhftx.html