Можно ли пометить функцию в Kotlin что она выбрасывает исключение

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

Ответ

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

Однако, для лучшей документации можно использовать @Throws аннотацию, если функция вызывается из Java:

@Throws(IOException::class)
fun readFile() {
    // код, который может выбросить IOException
}

Это полезно, если ваш Kotlin-код вызывается из Java, чтобы Java-код знал о возможных исключениях. В чистом Kotlin это не обязательно.