您的当前位置:首页【C#】52. 使用Flatten方法处理并行任务抛出的异常

【C#】52. 使用Flatten方法处理并行任务抛出的异常

2024-07-05 来源:乌哈旅游

本篇主要讨论一下InnerException的处理方法flatten。

async static Task<string> GetInfoAsync(string name, int seconds)
{
await Task.Delay(TimeSpan.FromSeconds(seconds));
throw new Exception(string.Format("Boom from {0}!", name));
}

1、先看一下单个错误的情况,这个比较简单,不存在嵌套异常。

async static Task AsynchronousProcessing()
{
Console.WriteLine("1. Single exception");
try
{
string result = await GetInfoAsync("Task 1", 2);
Console.WriteLine(result);
}
catch (Exception ex)
{
Console.WriteLine("Exception details: {0}", ex);
}
}

因篇幅问题不能全部显示,请点此查看更多更全内容