Sobes.tech
Назад к вопросам
Junior — Middle
76

Каким образом осуществляется обработка ошибок в потоках данных (Flow)?

Компании, где спрашивали
ИннотехИннотех

Ответ от нейросети

sobes.tech AI

В Kotlin Flow обработка ошибок осуществляется с помощью оператора catch, который перехватывает исключения, возникающие в потоке данных. Это позволяет обработать ошибку, например, записать лог, заменить ошибочный элемент или завершить поток с определённым действием.

Пример:

flowOf(1, 2, 0, 4)
    .map { 10 / it } // при делении на 0 возникнет исключение
    .catch { e -> emit(-1) } // при ошибке эмитируем -1
    .collect { value -> println(value) }

Также можно использовать оператор onCompletion для выполнения действий после завершения потока, включая обработку ошибок.