gpt4 book ai didi

swift - 为什么一个函数不抛出就满足抛出要求?

转载 作者:行者123 更新时间:2023-11-28 10:36:01 24 4
gpt4 key购买 nike

protocol Throwing {
func x() throws
}


class C : Throwing{
func x(){
print("not throwing") // no errors!
}
}

为什么编译器不抛出任何错误?这是设计使然还是错误?

最佳答案

编译的原因是一样的:

class A {
func x() throws {}
}
class B:A {
override func x() {}
}

还有这个:

func f() {}
func yoho (_ f : () throws -> Void) {}
override func viewDidLoad() {
yoho(f)
}

还有这个:

func f() {}
var fun : (() throws -> Void)!
override func viewDidLoad() {
self.fun = f
}

关于swift - 为什么一个函数不抛出就满足抛出要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53641506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com