throws

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

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

throws_第1张图片
在做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)