■ Task 클래스의 WhenAll 정적 메소드 사용시 예외를 처리하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System; using System.Threading.Tasks; Task task1 = Task.Run(() => { throw new NotImplementedException(); }); Task task2 = Task.Run(() => { throw new InvalidOperationException(); }); try { await Task.WhenAll(task1, task2); } catch(Exception exception) { Console.WriteLine(exception.ToString()); } |
※ Task.WhenAll 정적 메소드의 첫번째 인자로 전달하는 태스크의 예외를 항상 먼저 잡는다.