///< 宣告列舉錯誤型別
enum
printererror:
error
///< 捕捉異常的五種方式
///< 1.
使用throw
來丟擲乙個錯誤
func
send(job:
int, printername:
string
) throws
->
string
return
"job sent"
}///< 2.do catch
在**塊中執行操作, do
catch
///< 3.do catch ... do
catch
printererror.
onfire
catch
letprintererror
asprintererror
catch
///< 4.try
另一種處理錯誤的方式使用
try?
將結果轉換為可選的。如果函式丟擲錯誤,該錯誤會被拋棄並且結果為
ni l
。否則的話,結果會是乙個包含函式返回值的可選值。
letprintersuccess =
try?
send
(job:
1884
, printername:
"mergenthaler"
)let
printe***ilure =
try?
send
(job:
1885
, printername:
"never has toner"
(printersuccess ?? "")
(printe***ilure ?? "")
///< 5.defer
使用defer
**塊表示在函式返回前,會呼叫。
varfridgeisopen =
false
letfridgecontent = [
"milk"
,"eggs"
, "leftovers"
]func
fridgecontains(
_food:
string
) ->
bool
letresult = fridgecontent.
contains
(food)
return
result
}let
string =
fridgecontains
("bannana"
(string)
Swift 錯誤處理
override func viewdidload 丟擲錯誤 throw vendingmachineerror.insufficientfunds coinsneeded 5 2.處理錯誤 swift 中有四種方式處理錯誤 1.將錯誤從乙個函式傳播 propagate 到呼叫它的 2.用 do c...
Swift 錯誤處理專題
playground noun a place where people can play import uikit 下面的三個用於除錯,在真機上不起作用 assert 1 0 必須滿足括號裡面的邏輯,不然停止 assert 1 0,error 必須滿足括號裡面的邏輯,不然停止並報錯 asserti...
swift 中錯誤處理
enum customerror error 定義乙個測試用的類 class testerrorclass name s func showstring 第一種使用方式,執行 後,直接丟擲異常,中止執行 let tes trytesterrorclass s 執行結果 lldb expr 123.c...