How to handle invalid argument in Kotlin

4 Answers

0 votes
fun checkNumber(num: Int) {
    require(num >= 0) { "Negative numbers are not allowed" }
    println("Number: $num")
}

fun main() {
    checkNumber(8)  // Works fine
    checkNumber(-1)  // Throws IllegalArgumentException
}


 
/*
run:
 
Number: 8
Exception in thread "main" java.lang.IllegalArgumentException: Negative numbers are not allowed
 
*/

 



answered May 21, 2025 by avibootz
0 votes
fun validateAge(age: Int) {
    check(age >= 18) { "Age must be 18 or older" }
    println("Valid age: $age")
}

fun main() {
    validateAge(21)  // Works fine
    validateAge(16)  // Throws IllegalStateException
}


 
/*
run:
 
Valid age: 21
Exception in thread "main" java.lang.IllegalStateException: Age must be 18 or older
 
*/

 



answered May 21, 2025 by avibootz
0 votes
fun divide(a: Int, b: Int): Int {
    if (b == 0) throw IllegalArgumentException("Division by zero is not allowed")
    return a / b
}

fun main() {
    try {
        println(divide(800, 4))  // Works fine
        println(divide(7, 0))  // Throws exception
    } catch (e: IllegalArgumentException) {
        println("Error: ${e.message}")
    }
}


 
/*
run:
 
200
Error: Division by zero is not allowed
 
*/

 



answered May 21, 2025 by avibootz
0 votes
fun getPositiveNumber(num: Int?): Int {
    return num?.takeIf { it > 0 } ?: throw IllegalArgumentException("Number must be positive")
}

fun main() {
    println(getPositiveNumber(891))  // Works fine
    println(getPositiveNumber(-4))  // Throws exception
}


 
/*
run:
 
891
Exception in thread "main" java.lang.IllegalArgumentException: Number must be positive
 
*/

 



answered May 21, 2025 by avibootz

Related questions

4 answers 304 views
4 answers 271 views
4 answers 271 views
3 answers 221 views
3 answers 227 views
6 answers 426 views
...