Task.Run里面没有抛出异常的Backgroundworker

时间:2014-09-18 13:11:34

标签: c# winforms backgroundworker producer-consumer

我正在使用Winforms,而且我已经在后面使用了生产者/消费者对象的后台工作者。 在DoWork内部,我有一个对象,让我们称之为:#/ p>

Task.Run(() => producer.Produce(_appConfig.ScanPaths));
Task.Run(() => consumer.Consume());

当消费者遇到异常时,它不会被抛出,我无法在BackgroundWorkerRunWorkerCompleted中处理它。我有一个

if (e.Error != null || e.Cancelled)
{
...
}

要处理它。你们有什么建议我可以取消Backgroundworker并弹出错误MessageBox吗?或者更好的方法来处理我对生产者/消费者任务的处理方式?我很感激。提前谢谢!

0 个答案:

没有答案