Sobes.tech
Junior — Middle

Kako se vrši obrada grešaka u tokovima podataka (Flow)?

sobes.tech АИ

Одговор од АИ

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

Пример:

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

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