在WPF应用程序中处理从混合C ++ DLL抛出的SEHException

时间:2015-10-13 10:05:30

标签: c# c++ .net wpf dll

我有一个在WPF应用程序中使用的混合C ++ dll(my.dll)。
dll的C ++代码可能会引发一些法律问题'保护异常(如前置条件和后置条件),不应该使应用程序崩溃。
当在C ++应用程序中使用my.dll时,会捕获异常并继续运行应用程序。
当my.dll是在WPF应用程序中使用的异常在System.Runtime.InteropServices.SEHException中转换,使用以下代码捕获:

AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(GlobalExceptionHandler);
static void GlobalExceptionHandler(object sender, UnhandledExceptionEventArgs args)
{
  Exception e = (Exception)args.ExceptionObject;
  // ...
}

但是(可能因为args.IsTerminating为真)应用程序退出。
如何在不退出应用程序的情况下处理SEHException

0 个答案:

没有答案