Что такое "случайное исключение"?

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

Ответ 1

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

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 5

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

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