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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了try? try! try do catch try 使用详解相关的知识,希望对你有一定的参考价值。

当一个使用一个方法发现后面 throws  说明可能会抛出异常 需要try 进行处理 

技术分享

1  try? 如果解析成功就有值 否则返回nil  (推荐)

2  try! 如果解析成功就有值  否则直接崩溃 (不推荐)

3  try 如果 如果解析成功就有值  如果出错 能够处理异常 输出错误 do 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 )

 

以上是关于try? try! try do catch try 使用详解的主要内容,如果未能解决你的问题,请参考以下文章

为啥尽量不要将try…catch写在循环中?

如何在 Swift 中正确获取 Do-Catch 范围之外的值(使用 Try)

如何使用 Do-Try-Catch 修复“从 X 类型的抛出函数到 Y 类型的非抛出函数的无效转换”

Swift2.0:如何通过 do try catch 获取返回值和错误

《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式

“Try...Catch”块不与 parseInt() 一起使用