Мы используем MEF в нашем приложении WPF (MVVM) для встраивания внешних редакторов. В какой-то момент нашего основного представления есть элемент содержимого, в который будет помещен редактор.Поймать необработанные исключения из редактора
Теперь мы хотели бы поймать любое необработанное исключение из этого редактора, а затем перезагрузить редактор. Единственное, что я нашел, это использовать DispatcherUnhandledException
из класса Application
. Оттуда я должен был каким-то образом добраться до главного редактора представлений и сказать ему перезагрузить разбитый редактор.
Мне было интересно, есть ли «нижняя» точка уровня, где я мог бы поймать исключение? Кто-нибудь имеет некоторый опыт работы с ним и может помочь ему здесь?
Благодаря
Как насчет добавления блока 'try/catch' вокруг кода, запускающего редактор? – Sheridan
Редактор не запускается, он встроен в контейнер xaml через IOC. Таким образом, в основном это просто еще один элемент управления в нашем главном окне, и я не знаю, как бы потом это сделать в блок try/catch. – derape
Вы также можете использовать событие ['AppDomain.UnhandledException'] (https://msdn.microsoft. com/en-us/library/system.appdomain.unhandledexception (v = vs.110) .aspx), чтобы поймать необработанное 'Exception', хотя это происходит просто * до того, как приложение закрывается *, поэтому я не думаю, что это событие - любое использование для вас. – Sheridan