В Kotlin для обработки исключений используется конструкция try...catch...finally. Можно вызывать функции, помеченные как @Throws для взаимодействия с Java-кодом.
kotlin
Можно использовать несколько блоков catch для обработки разных типов исключений:
kotlin
Kotlin не имеет checked-исключений, как в Java. Функции могут объявлять, что они могут выбрасывать исключения с помощью @Throws, но это необязательно для Kotlin-кода.
Для случаев, когда функция может завершиться успехом или ошибкой, часто применяют sealed-классы или Result-тип (в экспериментальных версиях Kotlin) instead of исключений, особенно в асинхронном коде.
Пример с sealed-классом:
kotlin
Важно перехватывать только те исключения, которые вы можете обработать. Не стоит использовать пустые блоки catch. При необходимости, можно записать информацию об исключении в лог.
Также можно выбрасывать исключения явно с помощью ключевого слова throw:
kotlin