Можно ли в Kotlin указать, что функция может генерировать исключения?

В Kotlin нет синтаксиса, аналогичного ключевому слову throws в Java, чтобы явно указать, что функция может генерировать исключения.

Короткий ответ

Что ответить на собеседовании

В Kotlin нет синтаксиса, аналогичного ключевому слову throws в Java, чтобы явно указать, что функция может генерировать исключения. Исключения в Kotlin являются unchecked (непроверяемыми), поэтому компилятор не требует их объявления. Это упрощает код, но означает, что информация о возможных исключениях должна быть задокументирована в комментариях или документации.

Подробный разбор

Ответ с пояснениями

В Kotlin нет синтаксиса, аналогичного ключевому слову throws в Java, чтобы явно указать, что функция может генерировать исключения. Исключения в Kotlin являются unchecked (непроверяемыми), поэтому компилятор не требует их объявления. Это упрощает код, но означает, что информация о возможных исключениях должна быть задокументирована в комментариях или документации.

Пример:

fun readFile(name: String): String {
    if (!File(name).exists()) {
        throw FileNotFoundException("Файл не найден")
    }
    return File(name).readText()
}

Здесь функция может выбросить исключение, но это не отражено в её сигнатуре.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку