swift學習之九 異常處理

2021-07-11 18:00:28 字數 1207 閱讀 7824

/*注意點:

1:沒有最後的catch{}還不行,報錯.

2:呼叫能夠丟擲異常的函式的時候,得加try關鍵字。並且如果出現異常了,後面的就不執行了,直接進catch,

這個和別的語言一樣~。

3:函式後面得加throws關鍵字,否則不讓丟擲異常。

4:try!這個東西得慎用,表示呼叫的是帶丟擲異常的函式,但一定不丟擲異常。如果判斷錯誤,出現異常就悲劇了~

5:標記throws的函式,丟擲什麼異常都無所謂,不一樣型別都可以。

6:guard語法很特別,監測合法性,否則不往下執行。必須和else一起用。類似finally語法。

7:defer這個玩意在playground裡面不執行,在正式工程裡面沒問題。

8:帶附加資料的列舉異常,在catch的時候,得寫附加值,比較能否catch到。

9:catch ...{}不要異常物件,catch let a as ...捕獲後面的型別物件,就是看是否能型別轉換成功~

*/enum erroroverflow:errortype

}}enum errorintvalue:errortype

}}class errormustsix:nserror

func getvaluebyindex(aarray: [int], aindex:int) throws->int

guard aindex < aarray.count else

guard aindex >= 0 else

let rresult = aarray[aindex]

guard rresult < 10 else

guard rresult > 1 else

guard rresult > 5 else

guard rresult < 7 else

return rresult

}func catchthrow() -> void

docatch erroroverflow.lowoverflow("下標越界", 2, -1)

catch let e as erroroverflow

catch let e as errorintvalue

catch let e as errormustsix

catch let e as nserror

catch

}catchthrow()

參考:

Swift 異常處理

在 ios 開發當中,我們會面對很多異常處理。在 cocoa touch 中我們使用nserror來進行異常處理。在新的 swift 2.0 中,我們可以使用新的errortypeprotocol。在 swift 中,enum是最好的方法建立屬於你自己的異常型別,你只要在你的enum中確認新的err...

Swift 異常處理

open class func jsonobject with data data,options opt jsonserialization.readingoptions throws any所謂異常,便就是平常說的錯誤而已,swift引入異常機制,就是為了防止我們在程式設計中忽略一些導致崩潰的錯...

swift丟擲異常 Swift 2 0 異常處理

wwdc 2015 宣布了新的 swift 2.0.這次重大更新給 swift 提供了新的異常處理方法。這篇文章會主要圍繞這個方面進行討論。如何建造異常型別?在 ios 開發當中,我們會面對很多異常處理。在 cocoa touch 中我們使用 nserror 來進行異常處理。在新的 swift 2....