Sobes.tech
Back to questions
Junior — Middle
75

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

Companies where asked
ИннотехИннотех

Answer from AI

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 для выполнения действий после завершения потока, включая обработку ошибок.