function assert_demo // Note: The 'string' function 'find_first' returns the position // of the first occurrence of a substring // if the substring doesn't exist it returns 'null' const dot_position = "/path/to/file.txt".find_first ( "." ) assert dot_position is not null \ message: "The file path is supposed to contain a dot." write_line ( dot_position.to_string ) .
assert
instruction
The assert
instruction is used to document and ensure that a given condition is always true at the moment of execution.
If the condition is violated at runtime, then a program error is thrown immediately. Hence assert
supports the 'Fail fast!' principle and helps in debugging.
For example assert
can be used to state a loop invariant (a predicate that holds for every iteration of the loop) or to state that a given object reference doesn’t point to null
.
The assert
keyword is followed by a boolean expression that represents the condition. It can optionally be followed by a message
clause that defines a customized error message which is displayed in case of violation of the condition at runtime.
Example:
Note
|
The condition checked in an assert instruction must not have side effects. It’s evaluation can consume time and memory, but must not change the behavior of the program.
|