try? try! try do catch try 使用詳解

當一個使用一個方法發現後面 throws  說明可能會拋出異常 須要try 進行處理 json

1  try? 若是解析成功就有值 不然返回nil  (推薦)spa

2  try! 若是解析成功就有值  不然直接崩潰 (不推薦)code

3  try 若是 若是解析成功就有值  若是出錯 可以處理異常 輸出錯誤 do try catchblog

4 oc 中 ARC 開發自動添加 release autorelease  retain   若是用try catch 一旦不平衡就會出現內存泄漏內存

       
        let jsonStr = "{\"name\":.\"上官\"}"
        
        let data = jsonStr.data(using: .utf8)
        
        // try? 若是解析成功就有值 不然返回nil  (推薦)
        let json = try? JSONSerialization.jsonObject(with: data!, options: [])
        
        // try! 若是解析成功就有值  不然直接崩潰 (不推薦)
        
        let json0 = try! JSONSerialization.jsonObject(with: data!, options: [])
//
//        // try 若是 若是解析成功就有值  若是出錯 可以處理異常 輸出錯誤 do try catch
//        
        do {
            let json1 = try JSONSerialization.jsonObject(with: data!, options: [])
             print( json1 )
        } catch  {
             print(error)
        }
//        print( json )
相關文章
相關標籤/搜索