Насколько я понимаю, .NET предлагает возможность объявить UnhandledExceptionEventHandler
в случае, если какие-либо исключения выброшены и не обработаны.
Однако, насколько я могу судить, это работает только для исполняемого файла .NET и не может работать, если у вас есть .NET DLL, в которую вы вызываете из нативного кода, например, Native-Exe
(например, C ++ / MFC) -> C++/CLR-DLL ->
(третье лицо) C#-DLL
.
Для вызовов в C # -DLL мне нужно перехватить все исключения .NET в DLL моста и соответствующим образом их перевести.
Однако что я могу сделать с кодом .NET GUI-кода или потоками, запускаемыми C # DLL, которые генерируют исключения .NET? Могу ли я установить обработчик для них?
Примечание: это продолжение до другого моего вопроса , где я спрашивал о GUI-стороне проблемы. Этот здесь вопрос о UnhandledExceptionEventHandler
в контексте нативного приложения.