Swift 異常處理

2021-07-25 12:04:35 字數 992 閱讀 9473

open

class func jsonobject(with data: data, options opt: jsonserialization.readingoptions = ) throws -> any

所謂異常,便就是平常說的錯誤而已,swift引入異常機制,就是為了防止我們在程式設計中忽略一些導致崩潰的錯誤,接下來,我們就來了解異常機制吧。

trytry?

try!

使用try處理異常,當方法出現異常時,是由程式設計師來處理異常而不是系統來處理,**結構如下:

let url = url.init(string: "")

do catch

一般來說,這種方式很少使用,因為可能有大量的**放入到異常中或者非異常的括號中,這樣**可讀性不好。

相對於將異常由程式設計師來處理,交給電腦來處理毫無疑問是最好的方法了,而try?就做到了這一點:

let url = url.init(string: "")

guard let jsondata = try?

data

.init(contentsof: url!, options: data

return

}

沒有異常就會返回資料,有異常就返回nil,配合swift的guard機制,簡直不能在爽了,哈哈。

相對於以上處理方式,try!毫無疑問最簡單粗暴也是最危險的,那就是,你的**是絕對不會出現異常的:

let url = url.init(string: "")

let jsondata = try!

data

.init(contentsof: url!, options: data

額,萬一出現異常了,會怎麼樣?

崩掉。介紹了三種異常處理,毫無疑問,使用try?和guard是最合適的了,當然,try!最不推薦,除非你的**不會丟擲異常

但是,誰能保證了?

Swift 異常處理

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

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

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

swift2 0異常處理

異常處理,英文名為exceptional handling,是代替日漸衰落的error code方法的新法,提供error code 所未能具體的優勢。異常處理分離了接收和處理錯誤 這個功能理清了程式設計者的思緒,也幫助 增強了可讀性,方便了維護者的閱讀和理解。異常處理 又稱為錯誤處理 功能提供了處...