iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 17
0

分類:基本知識學習

在前兩天的下載圖片的程式碼中,我有用到錯誤處理的概念,但是自己對於這塊沒有太大的了解,因此獨立出來學習。

1. Guard語法基礎學習

在說明Error handling時,建議須先對於guard語句有基本概念(也可只都用if else,但是會讓程式碼看起來較雜),以下說明與程式碼引用書籍:

彼得潘的Swift程式設計入門,2017

  • guard語句一定要配合else使用。
  • else {}的程序執行後,必須離開guard所在區塊,可以用return離開,也可以接continue或break。

語法上明顯會比if..else簡潔。

2. Error Handling基礎學習

2-1. 當方法有定義throws,就代表可能會丟出錯誤:

  • 一旦在函示裡面丟出錯誤,即會離開函示就像return的效果,所以後面不用再加return,加了也不會執行。
  • 要呼叫會丟出錯誤的函示,一定要在函示前面加try。

2-2. 有錯誤就必須處理,最常用的方式為do catch。

說明:如果沒有錯,則會執行do後面{}的內容,然後跳過catch去執行更後面的程式碼。
另外可以在catch後面針對不同的error去處理,例如:

說明:在此例中,因為money<1000,所以catch到poorProblem這個錯誤,印出Fail,接著再跳到後面執行print("Don't care the result"),如果不是money的問題,則Fail會變成other Problem;如果現在每個catch都接一種錯誤情況,則程式碰到第一個遇到的錯誤,之後的catch就不會再執行。


上一篇
Swift從零開始-Day16: UIWebView及下載圖片基礎學習(2)
下一篇
Swift-Day18: 旅遊App-Part III
系列文
Swift零基礎實作旅遊景點app30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言