Насколько я знаю, если ждать Task.Run, то я смогу перехватить исключение. Но почему Visual Studio выдает необработанное исключение? Как избежать этого и позволить обработать исключение try/catch внутри Task.Run?
@Fildor Да, это так. Но я не хочу, чтобы программа останавливалась на этом каждый раз, когда случается исключение.
Просмотрите «Настройки исключений». Я думаю, вы можете снять этот флажок.
Я бы просто сделал резервную копию конфигурации VS, а затем восстановил «Настройки исключений» по умолчанию и продолжил бы оттуда.
Вам следует снять флажок «Прервать, когда этот тип исключения не обрабатывается пользователем», поскольку перехват находится за пределами функции Task, и убедиться, что он остается таковым.
В качестве альтернативы вы можете попробовать переместить блок try-catch внутри функции задачи и посмотреть, распознает ли он его как «обработанный пользователем».
Если наступить, он попадет в защелку?