我有恢复任务的方法。
我也希望提供一刀切的等同,但我不想让消费者不得不不包装<条码>。
现在我的理解是,整个想法是,你可以笼统地任意选取一票,我知道,我可以读到更多的Stephen Toub的文章(我会,但现在还不是这样),我可以理解这一点,可以自行决定。
在此期间,我想利用这样一个事实,即我的任务实际上只是分散的工作流程,没有平行,而只是干预瓦伊特(无、而不是图卢普数据Flow),而瓦伊特人无意造成不止一个例外。 在此情况下,应当处理下列事项:
CallAsync().Wait();
}
catch( AggregateException ae)
{
throw ae.Flatten().First()
或我保证:<代码> 纵有超过一种,则总有<条码>内约条码>。 或者,如果我回过来的话,我就应该回到<条码>。
在有些TPL docs中,我提到了 Unwrap(
) 方法Aggregate Exception
(但不能确定该方法是一种延伸,或者是一种排泄物)。
作为股东,我做的是:
void Call( )
{
try
{
CallAsync().Wait();
}
catch ( AggregateException ex )
{
var translated = ex.InnerException ?? ex.Flatten().InnerExceptions.First();
if ( translated == null )
throw;
throw translated; }
}
Task CallAsync(){ ...