撰寫程式過程中,免不了需要處理錯誤情形。
如果希望程式碼好維護,會將錯誤偵測和錯誤處理分開來
Swift特別的是enum能和error type結合,產出可讀性高的程式碼
Error Type
1 | enum Error: ErrorType { |
將enum繼承ErrorType,在抛出例外時有較高的可讀性
Propagating Errors Using Throwing Functions
1 | var memberList = ["John", "Joe", "Bob"] |
函式加上throws表示可抛出例外,如果名字不在成員清單中則抛出例外
Handling Errors Using Do-Catch
如同其它語言,Swift也提供do-catch的block處理抛出的例外1
2
3
4
5
6
7
8
9var memberList = ["John", "Joe", "Bob"]
do {
try removeMember("Alex")
} catch Error.InvalidName {
print("There isn't any member named Alex")
} catch Error.InsufficientFund {
print("Not enough funds")
}
參考來源:
官方文件