6.7 Swift的do-try-catch错误处理模式 [Swift原创教程]



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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


28.




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

0