Diferencia entre OperationCanceledException y TaskCanceledException?


¿Cuál es la diferencia entre OperationCanceledException y TaskCanceledException? Si estoy usando. NET 4.5 y usando el async/await palabras clave, ¿cuál debería estar buscando atrapar?

Author: Rob Hruska, 2012-10-24

1 answers

OperationCanceledException es simplemente la clase base para TaskCanceledException - así que si coges el primero, seguirás cogiendo el segundo.

Algunas operaciones en colecciones concurrentes lanzan solo OperationCanceledException, ya que no hay ninguna tarea real involucrada (al menos en lo que respecta a la API pública). Véase BlockingCollection.TryTake por ejemplo.

Cogería el OperationCanceledException en caso de que la tarea se cancele debido a una operación que a su vez acaba de lanzar OperationCanceledException - probablemente aún desee tratar eso como "solo cancelación".

 92
Author: Jon Skeet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-23 22:46:49