Visual Studio 2010 Beta 2 не будет продолжать после исключения - PullRequest
1 голос
/ 29 января 2010

Я отлаживаю клиент Windows Forms, который вызывает службу WCF в Visual Studio 2010 Beta 2.

Я хочу проверить свой код обработки исключений, поэтому я намеренно неправильно настроил свою конечную точку в app.config. Ожидаемое ConfigurationErrorsException выбрасывается. Однако Visual Studio 2010 останавливается на ошибочной строке кода, даже если я установил, что она не прерывается ни для исключений Thrown, либо для необработанных пользователем.

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

Строка, которую я не могу пройти:

MySvc.MyServiceClient svc = new MySvc.MyServiceClient();

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

Мой вывод: на самом деле я не могу обработать исключение, когда app.config настроен неправильно. Я что-то здесь упускаю?

UPDATE:

Я обрабатываю событие Application ThreadException, чтобы попытаться поймать это:

Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

1 Ответ

1 голос
/ 29 января 2010

Ctrl + D, E должно позволять вам настраивать параметры обработки исключений VS. Снимите флажок «Common Language Runtime Exceptions» и ваш код будет обрабатывать все исключения.

РЕДАКТИРОВАТЬ (постер)

Комментарий предоставляет правильное решение.

Возможно, исключение происходит на другой поток как-то через асинхронный вызов в прокси WCF? Попробуйте подключить Application.UnhandledException и AppDomain.CurrentDomain.UnhandledException события и посмотреть, поймут ли они Виновник.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...