C#中任务类型的错误回调

时间:2015-09-09 08:18:45

标签: c# async-await

我想知道C#中Task的错误回调是什么。

例如:在 JavaScript 中,您有两个承诺回调。

obj.save().then(function(){
   //success
}, function(){
   //error
});

在C#中使用async / await的概念是什么。

Task task = obj.SaveAsync();

Task中的错误回调在哪里?

P.S:我正在从JavaScript迁移到C#。

1 个答案:

答案 0 :(得分:2)

嗯,有各种选择:

  • 您可以使用Task.ContinueWith,使用TaskContinuationOptions.OnlyOnFaulted
  • 指定错误回调
  • 你可以等待任务,然后抓住将被解开的异常:

    try
    {
        await obj.SaveAsync();
    }
    catch (BadStuffHappenedException e)
    {
        // ...
    }