задача репозитория или data source?
С одной стороны, хорошо ловить все исключения в одном месте, а с другой — я не уверен, что это его задача. На офф сайте ответа не нашел.
Если ошибка в data, datasource его никак перехватить не сможет🤔
Ну например: достаем из внутреннего хранилища фото за именем. Такого фото может не быть. Или во время работы с DataStore может вылететь IOException. Такое исключение лучше сразу ловить и возвращать Results<Success, Failure>, или чтобы исключение ловил репозиторий и там что-то делал?
Если вы получите io exception, скорее всего приложению лучше умереть) а если у вас например в кэше не оказалось записи и вы получили соответствующее исключение - вероятно вы захотите его проверить в data чтобы выполнить соответствующие действия (загрузить из сети и добавить в кэш, например)
В целом глобально нет разницы, обработаете ли вы в data result/either или исключение, но логика обработки будет в data
Выбирайте тот способ, который вам больше нравится и придерживайтесь его. Чего-то истинно верного тут нет.
Обсуждают сегодня