throws

在做swift 的开发的时候 有的时候 有些方法会显示throws ,意思就是有可能会抛出异常,所以在遇到有throws 的方法中需要时用try catch

do{
}
catch{
// 只要do 里的事情,发生了异常就会调用catch里面的方法
}

在做swift 开发中经常会有抛出异常的状况

try 有三种

try  正常处理,也就是通过 do catch 来处理
try!  告诉系统一定不会有异常, 也就是说可以不通过 do catch 来进行处理,但是一旦出现错误,程序会直接crash掉
try? 告诉系统可能会有异常,也可能不会有错误,如果没错,系统会直接将结果自动包装称一个可选类型,如果程序出现错误,则会返回一个nil  ,同时 使用了 try? 可以不在使用 do catch 来处理

但是在开发中,本人更建议使用do catch 的方法来进行处理

        do{
            let objcstrng = try JSONSerialization.jsonObject(with: jsonData as Data, options: JSONSerialization.ReadingOptions.mutableContainers)

            STLog(message: "\(objcstrng)")
        }catch{
            // 只要 do 里的事情发生了异常 就会调用这个方法
        }
        
这个里面使用的是try! 但是当jsonData 为空的时候 会直接crash
        let objcstring = try!   JSONSerialization.jsonObject(with: jsonData as Data, options: JSONSerialization.ReadingOptions.mutableContainers)
        STLog(message: objcstring)
let objcstring = try?   JSONSerialization.jsonObject(with: jsonData as Data, options: JSONSerialization.ReadingOptions.mutableContainers)
STLog(message: objcstring)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容