在前兩天的下載圖片的程式碼中,我有用到錯誤處理的概念,但是自己對於這塊沒有太大的了解,因此獨立出來學習。
在說明Error handling時,建議須先對於guard語句有基本概念(也可只都用if else,但是會讓程式碼看起來較雜),以下說明與程式碼引用書籍:
彼得潘的Swift程式設計入門,2017
語法上明顯會比if..else簡潔。
說明:如果沒有錯,則會執行do後面{}的內容,然後跳過catch去執行更後面的程式碼。
另外可以在catch後面針對不同的error去處理,例如:
說明:在此例中,因為money<1000,所以catch到poorProblem這個錯誤,印出Fail,接著再跳到後面執行print("Don't care the result")
,如果不是money的問題,則Fail會變成other Problem;如果現在每個catch都接一種錯誤情況,則程式碰到第一個遇到的錯誤,之後的catch就不會再執行。