Как создать глобальный обработчик исключений? - PullRequest
0 голосов
/ 15 мая 2019



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

Я пытался использовать обработчик событий UnhandledException в App.xaml.cpp, но, похоже, он не работает для исключений C ++ (для Platform :: Exception это работает - исключения обнаружены).

Более того, я пытался использовать std :: set_terminate (), но он также не работал.

namespace
{
     void myExceptionHandler()
     {
         //handle exception
     }
}

App::App()
{
    //other actions
    this->UnhandledException += ref new UnhandledExceptionHandler(this,&App::handleExceptions);
    std::set_terminate(myExceptionHandler);

}

void App::handleExceptions(Platform::Object^ obj, Windows::UI::Xaml::UnhandledExceptionsEventArgs^ args)
{
   // Log error
   // Show Message Dialog
}

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...