美文网首页
Swift中错误处理

Swift中错误处理

作者: 喵呜呜喵 | 来源:发表于2017-07-21 04:21 被阅读0次

    关于在Swift中try的一些知识点

    letjsonString ="{\"name\": \"Zhangsan\"}"

    //将字符串转换成data

    letdata = jsonString.data(using: .utf8)

    //反序列化 throw抛出异常

    //方法一: 推荐使用try? 如果解析成功, 则有值, 否则为nil

    letjson =try?JSONSerialization.jsonObject(with: data!, options: [])

    print(json)

    //方法二: 不推荐使用try!如果解析成功, 则有值, 否则fatal error 程序崩溃

    letjson2 =try!JSONSerialization.jsonObject(with: data!, options: [])

    print(json)

    //方法三: do catch处理异常, 能够接受并且输出错误

    //扩展, OC中是否使用try catch?为啥?

    //因为try catch无法捕获UncaughtException,而oc中大部分crash如:内存溢出、野指针等都是无法捕获的,而能捕获的只是像数组越界之类(这真心需要catch么?),所以try catch对于oc来说,比较鸡肋。

    //在ARC下开发, 编译器自动添加retain/release/autorelease如果用try catch一旦不平衡, 就会出现内存泄漏

    do{

    letjson3 =tryJSONSerialization.jsonObject(with: data!, options: [])

    print(json3)

    }catch{

    print(error)

    }

    相关文章

      网友评论

          本文标题:Swift中错误处理

          本文链接:https://www.haomeiwen.com/subject/lgdskxtx.html