protocol Throwing {
func x() throws
}
class C : Throwing{
func x(){
print("not throwing") // no errors!
}
}
为什么编译器没有抛出任何错误?这是设计使然还是错误?
答案 0 :(得分:3)
出于同一原因进行编译:
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
}