Тестовый пример, который имитирует нужный мне алгоритм
using System;
using System.Threading.Tasks;
namespace Test
{
class Test
{
static void Main()
{
int i = 6000;
while (i > 0)
{
try
{
Console.WriteLine(i);
i--;
if (i == 5980)
{
throw new Exception("ERROR");
}
}
catch
{
SomethingFuncCatch();
}
}
}
static async Task SomethingFuncCatch()
{
await Task.Run(() =>
{
int i = 10;
while (i > 0)
{
Console.WriteLine("NewProcess started");
i = i--;
}
});
}
}
}
Как только завершается основной цикл, убивается таск. Как дождаться выполнения асинхронного метода в данном примере , чтобы счетчик дошел до нуля, и продолжилось выполнение
Console.WriteLine("NewProcess started");