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