关于Swift2.0提供的try catch异常捕捉的使用方法

 今天使用Xcode7.0Beta打开之前写的一个小游戏,发现出了不少语法错,其中一出就是由于异常捕捉方式的改变导致的,原代码如下
 
         var  error:  NSError ? =  nil

        backgroundMusicPlayer =

            AVAudioPlayer(contentsOfURL: url, error: &error)

        if backgroundMusicPlayer == nil {

            print("Could not create audio player: \(error!)")

            return

        }

原代码中, AVAudioPlayer 的构造函数有了可抛出错误的重载函数,现在的原型不接受第二个error参数,函数不再为failable ,应使用try catch捕捉异常

        do{

            backgroundMusicPlayer = try

            AVAudioPlayer(contentsOfURL: url!)

        }

        catch let error as NSError {

            print("Could not create audio player: \(error)")

        }


你可能感兴趣的:(Swift)