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互動教程》APP, 非特殊說明,本文版權歸原作者所有。
文章標籤: iOS開發
個人分類: iOS移動開發
所屬專欄: iOS開發從入門到精通
每天幾分鐘,手把手帶你學習iOS開發
點擊關注「李發展iOS」,即可第一時間獲取更多學習內容。
如果你有任何建議或意見,也請在評論區留言,感謝關注!