关于设置set_terminate函数

时间:2011-08-01 13:01:56

标签: c++ visual-c++ exception-handling

我使用的是visual studio c ++编译器,&在我对异常处理的研究中,我遇到了一些visual c ++编译器无法支持的功能, 比如控制可以抛出函数的异常。 我也无法使用 set_terminate()修改 terminate()的功能。 对于visual c ++而言,它是否也是一个修改 terminate()的规范?...&如果是这样,那么任何人都可以解释为什么微软在其编译器中创建这些规范?...: - x

1 个答案:

答案 0 :(得分:0)

你的意思是你无法修改终止

你试过这样的事吗?

// set_terminate example
#include <iostream>
#include <exception>
#include <cstdlib>
using namespace std;

void myterminate () {
  cerr << "terminate handler called\n";
  abort();  // forces abnormal termination
}

int main (void) {
  set_terminate (myterminate);
  throw 0;  // unhandled exception: calls terminate handler
  return 0;
}

不要尝试从VS运行。从命令行编译和执行。