1.1.50.5. fejezet, Folyamat vezérlés - kivételek

try {
    throw Exception("Hi There!")
} catch (e: SomeException) {
    // handler
} finally {
    // optional finally block
}

Saját kivételek:

class MyException : Throwable("My message")

Kivétel kifejezésként:

val a: Int? = try { input.toInt() } catch (e: NumberFormatException) { null }

A Nothing típus

val s = person.name ?: throw IllegalArgumentException("Name required")
 
fun fail(message: String): Nothing {
    throw IllegalArgumentException(message)
}
 
val x = null           // 'x' has type `Nothing?`
val l = listOf(null)   // 'l' has type `List<Nothing?>