XZ_Swift之Swift中的错误/异常处理、反序列化
来源:互联网 发布:windows longhorn 编辑:程序博客网 时间:2024/06/10 16:44
Swift 2.0 推出的新的异常处理方法:使用 do-catch 机制获取和处理异常
try?
如果解析成功,就有值,否则,为nil
try!
当开发者非常确定某个方法或者函数,在使用时候是绝对不会抛出任何异常的,这种情况下我们可以使用 try!
do-catch
获取和处理异常,使用 catch 可以对异常的解析进行更为高级的处理
使用 throws 来声明异常,标明将会抛出异常,使用 throw 抛出异常
反序列化的时候经常会使用到
let jsonStr = "{\"name\":\"zhangsan\"}" let data = jsonStr.data(using: .utf8) // 反序列化 throw 抛出异常 // 方法一:推荐 try?:如果解析成功,就有值,否则,为nil let json = try? JSONSerialization.jsonObject(with: data!, options: []) print(json ?? "没有值")// 方法二:有风险,强烈不推荐 try!:如果解析成功,就有值,否则崩溃 let json1 = try! JSONSerialization.jsonObject(with: data!, options: []) print(json1)// 方法三:处理异常,能够接受到错误,并且输出错误 // 缺点:语法结构复杂 do { let json3 = try JSONSerialization.jsonObject(with: data!, options: []) print(json3) } catch { // 直接可以输出错误 print(error) }
阅读全文
0 0
- XZ_Swift之Swift中的错误/异常处理、反序列化
- XZ_Swift之Swift面向对象
- XZ_Swift之Swift基础第一篇
- XZ_Swift之Swift基础第二篇
- JSON反序列化异常
- Swift 中的错误处理
- 窥探 Swift 编程之错误处理与异常抛出
- 窥探Swift编程之错误处理与异常抛出
- kryo的反序列化异常问题
- hibernate实体类反序列化异常
- spring boot jackon反序列化异常
- swift基础之错误异常
- 详解Swift中的错误处理
- Swift语言精要 - 序列化和反序列化
- swift json的序列化和反序列化
- swift IOS中对象序列化与反序列化
- XZ_Swift之控制流
- net中的序列化反序列化
- jQuery取id有.的值的方法
- javaweb如何返回一个无键JSON数组给前端,以JSF为例
- android ndk开发SIGSEGV错误
- Linux系统中的运行级别
- 51nod 1629 B君的圆锥 (数学)
- XZ_Swift之Swift中的错误/异常处理、反序列化
- STL----list
- IMPDP/EXPDP + network_link的使用
- const_cast, dynamic_cast, static_cast,reinterpret_cast
- Python3爬取简书首页文章的标题和文章链接
- Gym
- linux操作日志
- 分享深度学习的视频网址
- 使用python向excel中写入数据(中英文混合)