мне нужно написать код, который должен попытаться сделать 2 действия:Агрегирование несколько ошибок
def foo(): Unit {
a()
b()
}
a()
может бросить ошибку, и я все еще хочу b()
произойти (может быть решена быть простой попытке поймать наконец-то) вещь заключается в том, что b()
также может потерпеть неудачу, и я хотел бы вернуть какое-то обобщенное исключение из описания того и другого, что это лучший способ его реализовать?
Если и б может потерпеть неудачу, но вы хотите, чтобы обработать их, даже в ситуации неудачи почему бы не использовать Try (а) .map (б) .collect (результат) или что-то? Композиция Монад всегда должна быть способ пойти. Если вам не нужна композиция, попробуйте (a) .recover (w/e) Попробуйте (b) .recover (w/e). Я могу предоставить более полный ответ, если вы хотите –