Расскажи про исключения в Kotlin

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

Ответ

В Kotlin исключения делятся на checked (проверяемые) и unchecked (непроверяемые). В отличие от Java, все исключения в Kotlin — unchecked, то есть компилятор не требует их явной обработки.

Основные типы исключений:

  • Exception – базовый класс для пользовательских исключений.
  • RuntimeException – непроверяемые исключения (например, NullPointerException).
  • IllegalArgumentException, IllegalStateException – частые unchecked исключения.

Обработка:

try {
    val result = 10 / 0  
} catch (e: ArithmeticException) {
    println("Деление на ноль!")  
} finally {
    println("Блок finally выполнится всегда")  
}

Создание кастомного исключения:

class MyException(message: String) : Exception(message)  

throw MyException("Ошибка!")  

Kotlin поощряет использование null-безопасности (?, !!, ?:) вместо исключений там, где возможно.