Sobes.tech
Junior — Middle

Как се извършва обработката на грешки във потоковете от данни (Flow)?

sobes.tech AI

Отговор от AI

В Kotlin Flow обработката на грешки се извършва с помощта на оператора catch, който улавя изключенията, възникващи в потока от данни. Това позволява да се обработи грешката, например, като се запише лог, замести грешният елемент или се завърши потокът с определено действие.

Пример:

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

Също така може да се използва операторът onCompletion за изпълнение на действия след завършване на потока, включително обработка на грешки.