Swift3.0 -- 错误处理 try

来源:互联网 发布:学单片机有前途吗2016 编辑:程序博客网 时间:2024/06/01 08:02
import UIKitclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()                let jsonString = "{\"name\":\"zhang\"}";        let data = jsonString.data(using: .utf8);                //  反序列化 throw 抛出异常        //  方法一:推荐 try? 如果解析成功就有值,否则为 nil        let json = try? JSONSerialization.jsonObject(with: data!, options: []);                print(json);                //  方法二:不推荐 try! 如果解析成功就有值,否则崩溃        let json2 = try! JSONSerialization.jsonObject(with: data!, options: []);                print(json2);                //  方法三:处理异常,能够接收到错误,并且输出。但是,语法结构复杂。        //  扩展:OC中 有 try catch,ARC开发编译器自动添加release/retain,如果用try catch如果不平衡就处出现内存泄漏        do {            let json3 = try JSONSerialization.jsonObject(with: data!, options: []);                        print(json3);        } catch {            print(error);        }    }}

0 0
原创粉丝点击