Swift 錯誤處理

2021-07-29 02:27:08 字數 1417 閱讀 9182

///< 宣告列舉錯誤型別

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"

)print

(printersuccess ?? "")

print

(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"

)print

(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...