swift中try

在Swift中存在这样的关键字:try?和try!,他们的应用场景是什么呢?

      try?:

      1.应用场景:在函数或者方法抛出异常时,可以把异常转成一个可选类型,会返回一个nil,程序不会崩溃;如果程序正常,则会返回一个正确的可选类型;

  eg:let anyObject = try? NSJSONSerialization.JSONObjectWithData(jsonData, options: .MutableContainers)

      2.格式:let+属性+ try?+函数或者方法;

      3.注意点:返回的是可选类型,注意和其他的方法混合使用时出现多次包裹可选类型的解包问题。

      try!:

      1. 意义:打错错误的传播链,try!打破了错误传播链条,但是如果真的发生错误就出现运行期错误,导致程序的崩溃。

      2.格式:let+属性+ try!+函数或者方法;

  3.注意点:如果真的发生错误就出现运行期错误,导致程序的崩溃。

 

     

posted @ 2017-10-15 10:54  yyw蔚然  阅读(277)  评论(0编辑  收藏  举报