2015-10-24 2 views
0

В настоящее время я столкнулся ошибки с тем, что бит кода, так как я обновил XcodeSwift ошибка не обрабатывается и не отмечены попытки

{!} Вызов может бросить, но не помечен «попробовать» и ошибка не обрабатываются

let soundURL = NSBundle.mainBundle().URLForResource("jump", withExtension: "caf") 
      audioPlayer = AVAudioPlayer(contentsOfURL: soundURL!, fileTypeHint: nil) 
      audioPlayer.numberOfLoops = -1 
      audioPlayer.play() 
+0

Возможный дубликат [Проблема с «попробуйте?». и AVAudioPlayer] (http://stackoverflow.com/questions/32805153/issue-with-try-and-avaudioplayer) – Moritz

+0

проблема в том, что этот ответ не работал для моего кода? Я пробовал, но несколько раз ошибся –

+1

Возможный дубликат [Обработка ошибок в Swift-Language] (http://stackoverflow.com/questions/24010569/error-handling-in-swift-language) – mixel

ответ

2

метод теперь Throwable поэтому вы должны обрабатывать его таким образом:

do { 
    audioPlayer = try AVAudioPlayer(contentsOfURL: soundURL!, fileTypeHint: nil) 
    audioPlayer.numberOfLoops = -1 
    audioPlayer.play() 
} catch { 

} 
1

С Swift 2 вы должны обрабатывать исключения. Ниже приведено сообщение:

do { 
    audioPlayer = try AVAudioPlayer(contentsOfURL: soundURL!, fileTypeHint: nil) 
} catch (_) { 

} 
+0

причина для голосования. Я не опубликовал полный код, но, несомненно, указал на причину ошибки здесь. – Abhinav

+1

Это правильный ответ, поскольку он исправляет ошибку, которую вы получали. – joern

+0

Точно. Раздражение, чтобы увидеть вниз голос :-(! – Abhinav

Смежные вопросы