Nothing

throw是Kotlin中的表达式,因此你可以使用它,比如作为Elvis表达式的一部分:

val s = person.name ?: throw IllegalArgumentException("Name required")

throw表达式的类型是特殊类型Nothing。这个类型没有值,被用来标记永远不能到达的代码位置。在你的代码中,你可以使用Nothing来标记一个永远不返回的函数:

fun fail(message: String): Nothing {
    throw IllegalArgumentException(message)
}

当你调用这个函数时,编译器会知道在调用之外执行不会继续。

val s = person.name ?: fail("Name required")
println(s) // 's' is known to be initialized at this point

results matching ""

    No results matching ""