Почему два разных результатах при обращении с тем же исключением в C #?
Вопрос
Я обработал одно и то же исключение в двух программах, но у меня были разные результаты. Я не знаю почему.
Первый результат - это одна программа, которую не может поймать
Scapshot1: www.freeimagehosting.net/uploads/e2b37433a3.png.
и второй - это одна программа, добиваемая успеваемостью
Scapshot2: www.freeimagehosting.net/uploads/6ab7564999.png.
Почему я получил такой другой?
Решение
Ну, вы действительно не дали много контекста. Вещи, чтобы проверить:
- Это тот же тип приложения (WPF, WinForms, Silverlight, Console etc)?
- Они используют ту же версию .NET?
- Они работают на одной и той же версии Windows?
- У них есть тот же код для реагирования на необработанные исключения?
Другие советы
Из того, что я вижу, в # 1 вы бежите в отладчике. В # 2 вы не являетесь.
На самом деле, я предполагаю, что исключение точно так же, как сообщение одинаково. Нет разницы, как.
Я не уверен, понимаю ли я, похоже, это тот же эрко, но
- pic1 - необработанная ошибка
- PIC2 - обрабатываемая ошибка
Пожалуйста, предоставьте больше информации
Поведение отладчика перед лицом исключения может отличаться дико.
Вы не можете изменить Application.unhandledExceptionMode после Application.run () был назван так ясно, что это не тот, который собирается поймать исключение.
Который оставляет appdomain.unhandledexception. Да, отладчик сломается на исключение, прежде чем это событие поднято. Хорошая особенность, позволяет отлаживать причину исключения. Просто нажмите F5, чтобы продолжить выполнение, чтобы заставить обработчик событий. Нет никаких доказательств того, что вы используете отладчик в 2-м снимке экрана, выглядит так, будто вы начали его с Ctrl + F5.