1. 本節(jié)課將為你解析異常捕捉語句豪椿,該語句主要用于對異常和錯誤進(jìn)行監(jiān)測和處理。同時通過一個食品出售的實例,演示異常捕捉語句的具體用法。
3. 定義第一個枚舉成員捎迫,表示沒有指定的產(chǎn)品位谋。
4. 定義第二個枚舉成員,表示缺少錢幣而無法購買產(chǎn)品处渣,同時顯示缺少金錢的數(shù)額柑贞。
6. 接著定義一個指定名稱的結(jié)構(gòu)體,表示用于銷售的商品灌危。
7. 給結(jié)構(gòu)體添加兩個屬性盗誊,表示商品的價格和數(shù)量邪财。
8. 定義一個變量,表示當(dāng)前硬幣的總數(shù)展姐。
10. 給類添加一個數(shù)組屬性鹰服,表示該商店擁有的商品種類嚎于、價格和數(shù)量。
11. 添加一個名為銷售的方法,用來模擬產(chǎn)品銷售的動作。
12. 和if-let類似,都是根據(jù)其后的表達(dá)式的布爾值譬嚣,決定下一步做什么泵督。只是這樣做更加簡潔楣黍,可以避免過多的嵌套匾灶。
13. 通過拋出關(guān)鍵詞,拋出異常租漂,即提示錯誤的具體信息阶女。當(dāng)需要在函數(shù)或者方法里拋出異常,使用throw就可以了哩治。
14. 判斷當(dāng)商品的價格大于當(dāng)前硬幣總數(shù)時张肾,拋出硬幣不足的異常。
15. 當(dāng)以上異常均未發(fā)生時锚扎,即可正常進(jìn)行交易。從硬幣總數(shù)之中馁启,減去需要購買的商品的價格驾孔。
17. 然后同步更新產(chǎn)品數(shù)組中的惯疙,當(dāng)前被購買的商品的屬性信息翠勉。
18. 并在控制臺輸出當(dāng)前的商品名稱,作為購買的日志霉颠。
19. 現(xiàn)在我們可以模擬商品的銷售操作了对碌。首先創(chuàng)建一所商店。
20. 異常捕捉語句就是嘗試做一件事情蒿偎,如果失敗則捕獲出現(xiàn)的錯誤朽们。這里首先嘗試捕捉非法產(chǎn)品的錯誤。
23. 接著使用try語句,嘗試購買指定名稱的商品苍糠,然后點擊顯示調(diào)試區(qū)圖標(biāo)叁丧,打開控制臺。
24. 在控制臺可以看出岳瞭,因為商店中沒有銷售指定的產(chǎn)品拥娄,所以輸出了非法商品的錯誤信息。
25. 現(xiàn)在將購買的商品名稱進(jìn)行修改瞳筏,此時在控制臺輸出了商品被購買的日志信息稚瘾。點擊垂直滾動條,查看上方的內(nèi)容乏矾。
26. 從第45行右側(cè)的結(jié)果可以看出孟抗,因為購買了一次布丁迁杨,所以當(dāng)前的硬幣總數(shù)為8。
27. 當(dāng)再次購買布丁時凄硼,由于硬幣總數(shù)8铅协,小于布丁價格12,所以控制臺輸出了硬幣不足的錯誤提示摊沉。最后再次點擊此圖標(biāo)狐史,關(guān)閉控制臺,并結(jié)束本節(jié)課程说墨。
本文整理自:《Swift4互動教程》骏全,真正的[手把手]教學(xué)模式,用最快的速度上手iOS開發(fā)和Swift語言尼斧,蘋果商店App Store免費下載:https://itunes.apple.com/cn/app/id1320746678姜贡,或掃描本頁底部的二維碼。課程配套素材下載地址:資料下載