Junior — Middle
Como é que é feita a gestão de erros nos fluxos de dados (Flow)?
sobes.tech IA
Resposta da IA
No Kotlin Flow, o tratamento de erros é feito usando o operador catch, que intercepta exceções que ocorrem no fluxo de dados. Isso permite tratar o erro, por exemplo, registrando um log, substituindo o elemento com erro ou encerrando o fluxo com uma ação específica.
Exemplo:
flowOf(1, 2, 0, 4)
.map { 10 / it } // ao dividir por 0 ocorrerá uma exceção
.catch { e -> emit(-1) } // em caso de erro, emitimos -1
.collect { value -> println(value) }
Também é possível usar o operador onCompletion para executar ações após a conclusão do fluxo, incluindo o tratamento de erros.