Задачи на исключения в Kotlin. Часть 3
Сделайте функцию readFileSafe с обработкой IO.
Сделайте wrapper tryOperation для логирования ошибок.
Используйте runCatching + map + getOrNull.
Сделайте custom ValidationException.
Сделайте функцию parseEmail с require.
Сделайте try-catch в coroutine (concept).
Сделайте функцию chainOperations с обработкой ошибок.
Сделайте Result<T> wrapper.
Сделайте комплексную задачу с try-catch-finally.
Объясните, когда не нужно использовать exceptions.