今天使用Xcode7打开之前写的一个小游戏,发现出了不少语法错,其中一处就是由于异常捕捉方式的改变导致的,原代码如下
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)") }