Task.WaitAll 의 경우 예외가 throw되면 AggregateException을 반환하여 모든 예외를 확인할수 있으나
Task.WhenAll 은 예외중 딱 하나만 throw된다.
구글링 해봐도 먼 각각 예외들을 따로 수집하는걸 직접 만들라는 소리를 하고있는데,
그냥 task.Exception 꺼내보면 잘 모아뒀다.
Parallel.ForAsync
Parallel.ForEachAsync
취소나 일부에 예외가 발생하면 실행대기중이던 나머지는 아예 실행되지 않을수가 있다.
때문에 필수적으로 돌아야 하는 구간과 아닌구간을 쪼개야했다.
댓글 0