У меня следующий код взят из cplusplus.com :
// set_terminate example
#include <iostream>
#include <exception>
#include <cstdlib>
using namespace std;
void myterminate () {
cout << "terminate handler called\n";
abort(); // forces abnormal termination
}
int main (void) {
set_terminate (myterminate);
throw 0; // unhandled exception: calls terminate handler
return 0;
}
Поскольку в коде есть необработанное исключение, необходимо вызвать функцию myterminate (), которая установлена как обработчик завершения и должна переопределять обработчик завершения по умолчанию.
Программа аварийно завершает работу, но не вызывает myterminate (). Я использую Visual C ++ 2008 Express Edition.
В чем проблема с кодом?