assertionFailure(_:file:line:)
Indicates that an internal sanity check failed.
func assertionFailure(_ message: @autoclosure () -> String = String(), file: StaticString = #file, line: UInt = #line)
Parameters
- message
A string to print in a playground or
-Onone
build. The default is an empty string.- file
The file name to print with
message
. The default is the file whereassertionFailure(_:file:line:)
is called.- line
The line number to print along with
message
. The default is the line number whereassertionFailure(_:file:line:)
is called.
Overview
Use this function to stop the program, without impacting the performance of shipping code, when control flow is not expected to reach the call—for example, in the default
case of a switch
where you have knowledge that one of the other cases must be satisfied. To protect code from invalid usage in Release builds, see preconditionFailure(_:file:line:)
.
In playgrounds and -Onone builds (the default for Xcode’s Debug configuration), stop program execution in a debuggable state after printing
message
.In -O builds, has no effect.
In -Ounchecked builds, the optimizer may assume that this function is never called. Failure to satisfy that assumption is a serious programming error.