throws

作者: sttech | 来源:发表于2017-07-13 08:54 被阅读0次

    在做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)
    

    相关文章

      网友评论

          本文标题: throws

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