【发布时间】:2014-12-17 13:15:15
【问题描述】:
好的,我了解如何使用CancellationTokenSource 取消任务。在我看来,Task 类型“某种”会自动处理此异常——它将Task 的Status 设置为已取消。
现在您实际上仍然需要处理OperationCancelledException。否则异常会冒泡到Application.UnhandledException。 Task 本身可以识别它并在内部进行一些处理,但是您仍然需要将调用代码包装在 try 块中以避免未处理的异常。有时,这似乎是不必要的代码。如果用户按下取消,则取消Task(显然任务本身也需要处理它)。我觉得不需要任何其他代码要求。只需检查 Status 属性即可了解任务的完成状态。
从语言设计的角度来看,这有什么具体原因吗?有没有其他方法可以将Status 属性设置为取消?
【问题讨论】:
标签: c# .net task-parallel-library cancellation cancellationtokensource