Привет!
Все любят runtime exceptions. Нет лучшего способа узнать о том, что что-то не было учтено при написании кода. Особенно — если исключения обваливают приложение у миллионов пользователей, и эта новость приходит паническим email'ом с портала аналитики. В субботу утром. Когда ты в загородной поездке.
После подобного всерьез задумываешься о обработке ошибок — и какие же возможности предоставляет нам Kotlin?
Первым на ум приходит try-catch. По мне — отличный вариант, но у него есть две проблемы:
- Это как-никак лишний код (вынужденная обертка вокруг кода, не лучшим образом сказывается на читаемости).
- Не всегда (особенно при использовании сторонних библиотек) из блока catch возможно получить информативное сообщение о том, что конкретно вызвало ошибку.
Давайте посмотрим во что try-catch превращает код при попытке решения вышеозвученных проблем.
Читать полностью »