Runtime checks
- require: check arguments. Throws an
IllegalArgumentExceptionif the value is false. - check: check states. Throws an
IllegalStateExceptionif the value is false. - assert: other usage like check results. Throws an
AssertionErrorif the value is false and runtime assertions have been enabled on the JVM using the -ea JVM option.
require
Check arguments, throws an IllegalArgumentException if false.
fun save(age: Int) { require(age >= 0) { "Age must be positive integer: $age" } // save the data}check
Check states, throws an IllegalStateException if false.
class Worker { private var isRunning = false fun run() { check(isRunning == false) { "Working is already running" } }}assert
Check results, throws an AssertionError if false.
val name = getName()assert(name.isNullOrEmpty() == false) { "getName result is null or empty" }