Ответ
Nothing в Kotlin — это специальный тип, который означает «никогда не существует значения». Он используется для обозначения функций, которые никогда не возвращают результат (например, бросают исключение или зацикливаются бесконечно).
Пример:
fun fail(message: String): Nothing {
throw IllegalStateException(message)
}
fun example() {
val result = fail("Error") // Тип `result` — `Nothing`
println("Unreachable") // Код не выполнится
}
Особенности:
- Подтип всех типов (
Nothing?— подтип дажеAny?). - Полезен для
TODO(),throw, бесконечных циклов. - В отличие от
Unit(возвращаетUnit),Nothingничего не возвращает.