首页 > 应用开发 > > .NET Core 控制台程序 Task 抛异常问题
想在一个 .NET Core 控制台程序中实现当 Task.WhenAll 中任何一个 Task 抛异常时立即让控制台程序退出,请问如何实现?
比如下面的代码,即使在一个任务中抛了异常,其他任务也会正常运行
class Program
{
static async Task Main(string[] args)
{
var tasks = Enumerable.Range(0, 1000).Select(i =>
Task.Run(async () =>
{
Console.WriteLine($"Task {i} is running");
if (i == 5) throw new Exception($"Exit at {i}");
await Task.Delay(100);
}));
await Task.WhenAll(tasks);
}
}来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1192/viewspace-3126092/ ,如需转载,请注明出处,否则将追究法律责任。