微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 可选择尝试没有返回值的函数

可能是在使用试试时? (可选尝试)对于没有返回值的抛出函数调用,只是忽略错误
func throwingVoidFunction() throws { . . . }

try? throwingVoidFunction()

我期望编译器不允许尝试?在返回类型为void的抛出函数前面,但编译器不会抱怨.

那么使用试试吗?在虚空功能面前一种吸收错误方法? (比如使用空的认catch:catch {})

编译器没有理由抱怨.返回类型
func throwingVoidFunction() throws { ... }

是Void,因此是表达式的类型

try? throwingVoidFunction()

是可选< Void>,如果在评估表达式时抛出错误,则其值为nil(== Optional< Void> .none),
和可选< Void> .some()否则.

您可以忽略返回值或针对nil进行测试.一个
示例在An elegant way to ignore any errors thrown by a method中给出:

let fileURL = URL(fileURLWithPath: "/path/to/file")
let fm = FileManager.default
try? fm.removeItem(at: fileURL)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐