Этот код:Понимание исключений внутри Task.Run()
class Program
{
static void Main(string[] args)
{
Task.Run(() =>
{
throw new Exception();
}).Wait();
}
}
путает меня. Запустите его, и отладчик разбивается на throw
, как я ожидал. Хит f5 и хлеб отладчика на Task.Run
с AggregateException
, как я ожидал.
Хит f5 снова, и отладчик снова разрывается на throw
, затем на Run
повторите.
Что здесь происходит? Я бы ожидал два перерыва, а затем программу для выхода. Либо мой отладчик попал в лужу/у меня не было достаточно кофе еще, или, казалось бы, Task.Run
является повторная попытка делегат ...
Нажмите F5 и снова запустите программу? Просто гадать ... –
'Wait 'синхронно, то есть блокируется до завершения задачи. –
Программа @StefanSteinegger не перезапускается. добавьте точки останова в 'throw', и код многократно запускается –