Вопрос

Что именно представляет собой исключение первого шанса?Как и откуда он возникает в программе .NET?И почему он назван таким странным именем (о каком «шансе» идет речь)?

Это было полезно?

Решение

Это концепция отладки.В основном исключения выбрасываются в отладчик первый а затем к реальной программе, где, если она не обрабатывается, она передается отладчику второй время, давая вам шанс что-то сделать с ним в вашей IDE до и после самого приложения.Похоже, это изобретение Microsoft Visual Studio.

Другие советы

Уведомления об исключении первой возможности создаются при возникновении исключения.Уведомления о втором шансе — это когда оно не перехвачено.(Шанс - как возможность взломать код в отладчике).

Обработка исключений первого и второго шанса

Я только начал использовать отладчик и столкнулся с этим.В ходе своего исследования я нашел сообщение в блоге MSDN. Что такое исключение первого шанса? это прояснило для меня ситуацию.

Для меня важным выводом из этой записи в блоге является то, что она относится к уведомлению отладчика, а не к чему-то, что мой код обязательно должен будет обрабатывать, и, что наиболее важно, «сообщения об исключении первого шанса чаще всего не означают, что есть проблема в код."

Во время отладки приложения отладчик получает уведомление при каждом обнаружении исключения.На этом этапе приложение приостанавливается, и отладчик решает, как обработать исключение.Первый проход через этот механизм называется исключением «первого шанса».

В зависимости от конфигурации отладчика он либо возобновит работу приложения и передаст исключение, либо оставит приложение приостановленным и перейдет в режим отладки.Если приложение обрабатывает исключение, оно продолжает работать нормально.

Сообщения об исключении первого шанса чаще всего не означают, что в коде есть проблема.Для приложений/компонентов, которые корректно обрабатывают исключения, сообщения об исключении первой возможности позволяют разработчику узнать, что исключительная ситуация возникла и была обработана.

С точки зрения разработчика, это скорее исключение второго шанса, потому что это будет означать это не было обработано в коде;поэтому приложение будет остановлено.

Их может быть много, но больше всего следует волноваться, опять же, с точки зрения разработки, это второй шанс, потому что он приведет к сбою приложения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top