[c#] OperationCanceledException과 TaskCanceledException의 차이점은 무엇입니까?

OperationCanceledException과 의 차이점은 무엇입니까 TaskCanceledException? .NET 4.5를 사용하고 async/ await키워드를 사용하는 경우 어떤 키워드를 찾아야합니까?



답변

OperationCanceledException는 단순히 기본 클래스입니다 TaskCanceledException. 따라서 전자를 잡더라도 후자를 잡을 것입니다.

동시 컬렉션에 대한 일부 작업은 관련된 OperationCanceledException실제 작업 이 없기 때문에 (적어도 공개 API에 관한 한). BlockingCollection.TryTake예를 참조하십시오 .

OperationCanceledException작업 자체가 방금 던진 작업으로 인해 작업이 취소되는 경우를 대비하여 잡을 수 있습니다.이 작업 OperationCanceledException을 “단지 취소”로 취급하고 싶을 것입니다.


답변