Разница между OperationCanceledException и TaskCanceledException?



В чем разница между OperationCanceledException и TaskCanceledException? Если я использую .NET 4.5 и использую async/await ключевые слова, которые я должен искать, чтобы поймать?

637   1  

1 ответ:

OperationCanceledException - это просто базовый класс для TaskCanceledException - так что если вы поймаете первое, вы все равно поймаете второе.

некоторые операции над параллельными коллекциями бросают просто OperationCanceledException, Так как нет никаких фактических задачи участие (по крайней мере, в отношении публичного API). Смотрите BlockingCollection.TryTake для примера.

Я бы поймать OperationCanceledException на всякий случай задача отменяется из-за операции, которая сам только что бросил OperationCanceledException - вы, вероятно, все еще хотите рассматривать это как "просто отмена".

Comments

    Ничего не найдено.