调用可以抛出错误,但错误不能从全局变量初始值设定项中抛出

2024-03-28

我正在使用 Xcode 7 beta,迁移到 Swift 2 后,我遇到了这行代码的一些问题:

let recorder = AVAudioRecorder(URL: soundFileURL, settings: recordSettings as! [String : AnyObject])

我收到一条错误消息“调用可以抛出,但错误不能从全局变量初始值设定项中抛出”。 我的应用程序依赖于recorder成为一个全局变量。有没有办法既保持全球性又解决这些问题?我不需要高级错误处理,我只是希望它能够工作。


如果您知道您的函数调用不会抛出异常,则可以使用以下命令调用抛出函数try!禁用错误传播。请注意,如果实际抛出错误,这将抛出运行时异常。

let recorder = try! AVAudioRecorder(URL: soundFileURL, settings: recordSettings as! [String : AnyObject])

来源:Apple 错误处理文档(禁用错误传播) https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ErrorHandling.html#//apple_ref/doc/uid/TP40014097-CH42-ID512

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用可以抛出错误,但错误不能从全局变量初始值设定项中抛出 的相关文章

随机推荐