В wxWidgets 3.0.8 (возможно, и в более ранних версиях) вы можете переопределить wxApp::OnExceptionInMainLoop
. (Это фактически документация для AppConsole, я не смог найти документацию для App, но она работает так же).
Если вы выбросите изнутри эту функцию, вы, вероятно, получите желаемое поведение.
Реализация этой функции в базовом классе - это диалоговое окно wxWidgets Abort / Retry / Ignore.
Примечание: это также нужно сделать, если вы хотите обработать исключение по-своему и возобновить выполнение, например ::
// In your App class that derived from wxApp
virtual bool OnExceptionInMainLoop() override
{
try { throw; }
catch(std::exception &e)
{
MessageBoxA(NULL, e.what(), "C++ Exception Caught", MB_OK);
}
return true; // continue on. Return false to abort program
}