【C#】流式计算 - 错误处理
var transformBlock = new TransformBlock<int, int>(n =>
{
if (n == 3) throw new Exception($"Error ...{n}");
return n * 2;
});
var actionBlock = new ActionBlock<int>(n => {
Console.WriteLine(n);
});
transformBlock.LinkTo(actionBlock, new DataflowLinkOptions { PropagateCompletion = true });
for (int i = 0; i < 5; i++)
{
transformBlock.Post(i);
}
transformBlock.Complete();
actionBlock.Completion.ContinueWith(t =>
{
if (t.IsFaulted)
Console.WriteLine("Error: " + t.Exception.Message);
});