我们有一个特殊的日志记录功能,代表特定类型的崩溃,因此,在内部调用fatalError
。但是,与fatalError
不同,当我们在guard
语句中使用它时,它仍然抱怨我们没有退出guard
的范围。
我检查了源代码,fatalError
返回-> Never
,所以我尝试了,但这也不起作用。我也没有看到任何应用于它的属性可能告诉编译器'这是路的尽头'。
那么有可能拥有自己的fatalError
方法吗?
func myFatalError(memberName:String = #function) -> Never {
let message = "Failed in \(memberName)"
NSLog(message)
fatalError(message)
}
答案 0 :(得分:0)
正如其他人所指出的那样,这个问题在我的机器上是特别的。以下(返回“从不”)按预期工作。
func myFatalError() -> Never {
print("Doing something fatal")
}