swift – 从没有抛出的继承函数中抛出异常
发布时间:2020-12-14 04:48:04 所属栏目:百科 来源:网络整理
导读:我正在尝试执行以下操作: 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’.
我正在尝试执行以下操作:
protocol X{ func foo() } enum XError{ case BAR } class Y:X{ func foo(){ throw XError.BAR } } 我不能在协议中添加一个throws声明,它抱怨说
我怎样才能做到这一点? 解决方法
您需要在抛出的任何函数的签名中显式添加throw.
所以 func foo() throws { throw XError.BAR } 这也适用于协议定义. protocol X { func foo() throws } Swift中的错误应符合Error协议. enum XError: Error { case BAR } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |