without practices example best await async c# exception asynchronous task

practices - c# private async void



¿Diferencia entre OperationCanceledException y TaskCanceledException? (1)

¿Cuál es la diferencia entre OperationCanceledException y TaskCanceledException ? Si utilizo .NET 4.5 y uso las palabras clave async / await , ¿cuál debería buscar?


OperationCanceledException es simplemente la clase base para TaskCanceledException , por lo que si atrapas la anterior, seguirás atrapando la última.

Algunas operaciones en colecciones concurrentes arrojan solo OperationCanceledException , ya que no hay ninguna tarea real involucrada (al menos en lo que se refiere a la API pública). Consulte BlockingCollection.TryTake para ver un ejemplo.

Capturaría la OperationCanceledException solo en caso de que la tarea se cancele debido a una operación que acaba de lanzar OperationCanceledException ; probablemente aún quiera tratar eso como "cancelación justa".