для каждого вызова создавать свой scope?
Если одна корутина отваливается, не отвалится ли весь scope с ней?
То есть по сути, каждому запросу назначать свой scope?
Если ошибка прокидывается, то по-умолчанию отменяется все в верх. Можно заворачивать вызовы в try/catch или использовать supervisorScope
Ясно. Значит я верно все понял. Спасибо кстати за помощь с parallelStream и async await Разобрался в теме, потестил.
вообще если у вас "ошибка - это нормально" лучшее ее ловить. Если это случается эпизодически, то подключения надо пересоздавать, да.
Да, ошибку обрабатываю отдельно с try catch, возвращая значение по дефолту.
Ну тогда оно у вас и не обвалится нигде. Единственный трюк важный - это при обработке ошибки прокидывать наверх CancellationException, потому что иначе вы отменить не сможете ничего
Не, надо проверит если прилетел cancellation, проклинать его
If(ex is CancellationException) throw ex
А какая принципиальная разница с тем, как я написал в catch?
Обсуждают сегодня