Избегайте исключений из модуля в приложении - PullRequest
3 голосов
/ 03 марта 2011

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

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

Мои идеи:

1) создать 2 отдельных потока GUI. это возможно?

2) запустить размещенный модуль как отдельный файл .exe, но каким-то образом разместить его в моем приложении.

Любая помощь будет оценена.

enter image description here

Ответы [ 2 ]

0 голосов
/ 03 марта 2011

Ну, во-первых, вам нужно реализовать событие Application.DispatcherUnhandledException, для получения более подробной информации нажмите здесь .

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

РЕДАКТИРОВАТЬ:

Или вы могли бы следовать этому подход .Но я бы попытался улучшить надежность.

0 голосов
/ 03 марта 2011

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

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

...