[英]OperationCanceledException VS TaskCanceledException when task is canceled
[英]Difference between OperationCanceledException and TaskCanceledException?
OperationCanceledException
和TaskCanceledException
什么區別? 如果我使用.NET 4.5並使用async
/ await
關鍵字,我應該抓住哪一個?
OperationCanceledException
只是TaskCanceledException
的基類 - 所以如果你抓住前者,你仍然會抓住后者。
並發集合上的一些操作只拋出OperationCanceledException
,因為沒有涉及任何實際任務 (至少就公共API而言)。 有關示例,請參閱BlockingCollection.TryTake
。
我會捕獲OperationCanceledException
以防萬一由於操作本身只是拋出OperationCanceledException
而取消了任務 - 你可能仍然希望將其視為“只是取消”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.