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".