Sobes.tech
Junior — Middle

Come viene gestito il trattamento degli errori nei flussi di dati (Flow)?

sobes.tech AI

Risposta dell'AI

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

Пример:

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

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