Slide 45
Slide 45 text
Testing fatalError()
Replacing fatalError() With a Closure
func fatalError(
_ message: @autoclosure () -> String = "",
file: StaticString = #file,
line: UInt = #line
) -> Never {
FatalErrorUtilities.fatalErrorClosure(message(), file, line)
}
struct FatalErrorUtilities {
typealias FatalErrorClosure = (String, StaticString, UInt) -> Never
fileprivate static var fatalErrorClosure = defaultFatalErrorClosure
private static let defaultFatalErrorClosure = {
(message: String, file: StaticString, line: UInt) -> Never in
Swift.fatalError(message, file: file, line: line)
}
}
Jeff Kelley |