Примечание: я не занимаюсь программированием на .NET регулярно.Обычно я делаю нативный / MFC, поэтому я немного растерялся из-за того, как сделать это правильно в контексте C #.
Мы отображаем элемент управления .NET в контексте нативного Приложение MFC.Это означает, что поток GUI является собственным потоком, вызывающим WndProc элемента управления .NET.(Ну, по крайней мере, насколько я могу судить.)
Очевидно, мы не хотим выбросить исключения из наших (GUI) обработчиков событий, так как нет правильного обработчика внизстек вызовов, который их перехватит.
Насколько я могу судить, решение (я) с AppDomain
/ UnhandledExceptionEventHandler
не имеют смысла в собственном приложении MFC.(Пожалуйста, исправьте меня, если я ошибаюсь.)
Итак, вернемся к вопросу: как мне избежать добавления блока try / catch в каждый обработчик событий контрольного кода C #?Есть ли какое-то место (возможно, System.Forms ... Control.WndProc?), Где я могу перехватить все исключения .NET и просто отобразить диалоговое окно с сообщением об ошибке пользователю?