swift – 从没有抛出的继承函数中抛出异常

swift – 从没有抛出的继承函数中抛出异常,第1张

概述我正在尝试执行以下 *** 作: protocol X{ func foo()}enum XError{ case BAR}class Y:X{ func foo(){ throw XError.BAR }} 我不能在协议中添加一个throws声明,它抱怨说 the error is not handled because the enclosin @H_404_1@ 我正在尝试执行以下 *** 作:

protocol X{    func foo()}enum XError{    case bar}class Y:X{    func foo(){        throw XError.bar    }}

我不能在协议中添加一个throws声明,它抱怨说

the error is not handled because the enclosing function is not
declared ‘throws’.

我怎样才能做到这一点?

解决方法 您需要在抛出的任何函数的签名中显式添加throw.

所以

func foo() throws {    throw XError.bar}

这也适用于协议定义.

protocol X {    func foo() throws}

Swift中的错误应符合Error协议.

enum XError: Error {    case bar}
总结

以上是内存溢出为你收集整理的swift – 从没有抛出的继承函数中抛出异常全部内容,希望文章能够帮你解决swift – 从没有抛出的继承函数中抛出异常所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1009715.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存