как исправить "' система.AggregateException ' произошло в mscorlib.файл DLL"
Я получаю такую проблему в отладчике и программа перестает выполняться. Отладчик не показывает мне строку, поэтому я не знаю, что исправить.
необработанное исключение типа System.AggregateException произошел в библиотеку mscorlib.dll файлы
дополнительная информация: исключение (ы) задачи также не наблюдались ожидание задачи или доступ к ее свойству Exception. Как в результате ненаблюдаемое исключение было переосмыслено потоком финализатора.
Не удается получить значение local или аргумент " как это не доступный на этом указателе инструкции, возможно потому что он оптимизирован. Система.Нарезка резьбы.Задачи.TaskExceptionHolder
Как устранить мою проблему?
Я также нашел этот вопрос, который очень похож не удается получить значение local или аргумент, поскольку он недоступен в указателе этой инструкции, возможно, потому, что он был оптимизирован
4 ответов
Как говорится в сообщении, у вас есть задание, которое возникло необработанное исключение.
включить Break на всех исключениях (Debug, Exceptions) и повторно запустить программу.
Это покажет вам исходное исключение, когда оно было брошено в первую очередь.
(комментарий прилагается): в VS2015 (или выше). Выберите "Отладка" > "Параметры" > "Отладка" > Общие и снимите флажок "Включить только мой код".
вы можете обрабатывать исключение напрямую, чтобы оно не привело к сбою вашей программы (поймав AggregateException
). Вы также можете посмотреть на внутреннее исключение, это даст вам более подробное объяснение того, что пошло не так:
try {
// your code
} catch (AggregateException e) {
}
принято отвечать будет работать, если вы можете легко воспроизвести проблему. Однако, как правило, вы должны улавливать любые исключения (и ведение журнала), которые выполняются в рамках задачи. В противном случае приложение аварийно завершит работу, если в задаче произойдет что-либо непредвиденное.
Task.Factory.StartNew(x=>
throw new Exception("I didn't account for this");
)
однако, если мы сделаем это, по крайней мере, приложение не рухнет.
Task.Factory.StartNew(x=>
try {
throw new Exception("I didn't account for this");
}
catch(Exception ex) {
//Log ex
}
)
в моем случае я столкнулся с этой проблемой при использовании Edge.js-вся проблема заключалась в синтаксической ошибке JavaScript внутри края C#.определение функции js.