2012-02-07 2 views
1

Нормально ли, что приложения WPF терпят неудачу, даже в режиме отладки? В настоящее время я выполняю код в событии с измененным текстом richtextbox, и если он ошибочно, он просто перестает вызывать событие с измененным текстом, поэтому мне нужно пройти весь код, чтобы найти точку, в которой он останавливается ...Остановить работу WPF бесшумно?

As Например, я выбрал класс для другого класса, но я выбрал неправильный класс (набрал его неправильно), и поэтому результат был NULL. Это привело к некоторому коду сразу после неудачи, когда я попытался использовать класс. Вместо исключения, однако, программа просто продолжает работать, как если бы попытка try-catch была вокруг всего (и внутри улова она удаляла событие с измененным текстом)

+0

Возможно, это связано с возможностью WPF ловить ошибки. Не уверен, хотя. Вы можете попытаться добавить [DataErrorInfoclass] (http://msdn.microsoft.com/en-us/library/system.componentmodel.idataerrorinfo.aspx) и посмотреть, поймает ли это его – Default

+0

Нет, это не нормально! Из того, что вы дали, очень сложно придумать какой-либо ответ, кроме как сказать «что-то не так». Вы говорите, что исключения не бросаются? Что делать, если вы целенаправленно выбрасываете исключение? – DanTheMan

+0

Опубликовать код. – cadrell0

ответ

1

Возможно, у вас странное поведение, когда ваши обработчики событий не соответствуют требуемой подписи.
Самое простое решение проблемы заключается в том, чтобы ваша Visual Studio остановилась на исключениях с первым шансом. Перейдите в меню отладки, подменю исключения, здесь вы можете выбрать, какое исключение остановит приложение.
Обратите внимание, что первое случайное исключение отображается в непосредственном окне (Debug/Window/Immediate).

+0

Спасибо, я переключил все исключения CLR с «user-unhandled» на «throw», и теперь он работает. – LynchDev

Смежные вопросы