오늘 내 동료와 나는 5.0 async
방법을 제대로 C#에서 예외를 처리하는 방법을 논의하고, 한 번도 여러 작업을 기다리는 것은 런타임에서 풀어되지 않는 예외를 관찰하면 우리는 궁금. 이제 두 번째 작업은 어떻게됩니까여러 작업을 기다리는 것이 첫 번째 예외 이상의 것을 관찰합니까?
async Task ExceptionMethodAsync()
{
await Task.Yield();
throw new Exception();
}
async Task CallingMethod()
{
try
{
var a = ExceptionMethodAsync();
var b = ExceptionMethodAsync();
await Task.WhenAll(a, b);
}
catch(Exception ex)
{
// Catches the "first" exception thrown (whatever "first" means)
}
}
:
는 다음과 같은 코드를 생각해? 두 가지 모두 오류 상태에 있지만 두 번째 작업의 예외는 이제 관찰되거나 관찰되지 않습니다.
모두 관찰됩니다. –
책 C#에서이 문제에 대해 깊이 논의 했으므로 거기에서 답을 찾을 수 있습니다. – Matt