Ответ
Nothing – это специальный тип в Kotlin, который является подтипом всех других типов. Он используется для обозначения ситуаций, когда функция никогда не завершается нормально (например, выбрасывает исключение или зацикливается).
Пример:
fun fail(message: String): Nothing {
throw IllegalStateException(message)
}
val result: String = fail("Error") // компилятор знает, что код после fail не выполнится
Ключевые особенности:
- Всегда является подтипом любого типа
- Не имеет экземпляров
- Используется для функций, которые не возвращают результат
- Полезен для smart-cast в Kotlin, так как компилятор понимает, что код после вызова функции с
Nothingнедостижим