Что значит что функция возвращает Nothing

«Что значит что функция возвращает Nothing» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Функция, возвращающая Nothing, означает, что она никогда не завершается нормально — либо выбрасывает исключение, либо зацикливается. В Kotlin Nothing — это специальный тип, не имеющий значений, используемый для обозначения недостижимого кода.

Пример:

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

fun example() {
    val result = fail("Error") // Тип result — Nothing
    println("Unreachable") // Компилятор знает, что код недостижим
}

Используется для:

  • Функций, всегда бросающих исключения (как error())
  • Бесконечных циклов
  • Обозначения веток, которые никогда не выполнятся (например, в when с exhaustive проверкой)