在C ++中自定义未捕获异常的终止行为

在本教程中,我们将讨论一个针对C ++中未捕获的异常自定义行为的程序。

通常,异常是由try-catch块处理的,但是在某些情况下,没有匹配的catch块,程序只是终止了。该terminate()方法可根据用户要求进行修改。

示例

#include <exception>
#include <iostream>
using namespace std;
//定义自定义终止符
void myhandler(){
   cout << "Inside new terminate handler\n";
   abort();
}
int main(){
   set_terminate(myhandler);
   try {
      cout << "Inside try block\n";
      throw 100;
   }
   catch (char a){
      cout << "Inside catch block\n";
   }
   return 0;
}

输出结果

Inside try block
Inside new terminate handler