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 )
相关文章
相关标签/搜索