Note ≡ 예외 처리 구문에서 await 키워드 사용하기
C# 6.0 버전 이후로는 예외 처리 구문 안에서 await 키워드를 사용할 수 있습니다. 다음 코드를 살펴보세요.
//AwaitWithTryCatchFinally.cs using System; using System.Threading.Tasks; class AwaitWithTryCatchFinally { static async Task Main() { await DoAsync(); } static async Task DoAsync() { try { await Task.Delay(1); } catch (Exception) { await Task.Delay(1); } finally { await Task.Delay(1); } } }
실행 결과는 아무것도 나타나지 않았지만, await 키워드를 try~catch~finally 구문 안에서도 사용할 수 있음을 확인했습니다.
C#을 사용한 데스크톱, 웹 등 최신 응용 프로그램 제작에서는 비동기 방식의 프로그래밍이 필수입니다. 단지 async와 await 키워드를 사용하고 Task 클래스의 주요 메서드를 사용함으로써 동기에서 비동기로 탈바꿈되는 마법 같은 효과를 낼 수 있습니다. 이 강의 목적은 async와 await 키워드 사용법을 익히는 데 있습니다. 책에서는 이 정도로 다루고 좀 더 자세한 내용은 마이크로소프트 Docs 온라인 설명서에서 비동기 프로그래밍 관련 API를 검색하길 권장합니다.