Есть ли какой-нибудь способ перехвата исключений, которые в противном случае не обрабатываются (включая те, которые выбрасываются за пределы блока catch)?
Меня не особо беспокоит все обычное очищение, выполняемое с исключениями, просто я могу его перехватить, записать в журнал, уведомить пользователя и выйти из программы, поскольку исключения в этих случаях являются в основном фатальными, невосстанавливаемыми ошибки.
что-то вроде:
global_catch()
{
MessageBox(NULL,L"Fatal Error", L"A fatal error has occured. Sorry for any inconvience", MB_ICONERROR);
exit(-1);
}
global_catch(Exception *except)
{
MessageBox(NULL,L"Fatal Error", except->ToString(), MB_ICONERROR);
exit(-1);
}