Swift—拋異常(do..catch)與(try,try?,try!)的使用

* throws拋出異常, 那么就必須通過try來處理

* try : 標準的處理方式, 該方式必須結合do catch來處理

* try? :告訴系統可能有錯, 也可能沒錯, 如果發生錯誤, 那么返回nil, 如果沒有發生錯誤, 會見數據包裝成一個可選類型的值返回給我們

這種使用方式, 相當于忽略錯誤

* try! : 告訴系統一定沒錯, 如果發生錯誤, 程序會崩潰. 不推薦使用

'' // 1.獲取JSON文件路徑

let path = NSBundle.mainBundle().pathForResource("MainVCSettings.json", ofType: nil)!

'' // 2.加載JSON文件

'' let data = NSData(contentsOfFile: path)!

'' // 3.將JSON文件加載進來的數據轉換為對象 字典數組

//try結合do..catch一起使用

do {

'' // 編寫有可能出現錯誤的代碼

'' let objc = try NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)

''? ? }catch {

// 只要do后面大括號中的代碼拋出了異常, 就會執行catch

// 如果do后面大括號中沒有拋出異常, 那么catch后面大括號中的代碼不執行

'' WFLog(error)

}

//try!使用

let objc = try! NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容