set_terminate (<exception>)

建立一个新的terminate_handler使其能够在程序中止时调用。

terminate_handler 
   set_terminate( 
      terminate_handler fnew 
   ) throw( );

参数

  • fnew
    函数在中止时将被调用。

返回值

用来在中止时调用的最初函数的地址。

备注

这函数建立了一个新的中止处理程序作为函数*fnew。 因此,fnew一定不能为空指针。 函数返回起初的终止处理程序地址。

示例

// exception_set_terminate.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>

using namespace std;

void termfunction()
{
    cout << "My terminate function called." << endl;
    abort();
}

int main()
{
    terminate_handler oldHandler = set_terminate(termfunction);

    // Throwing an unhandled exception would also terminate the program
    // or we could explicitly call terminate();
    
    //throw bad_alloc();
    terminate();
}

Output

My terminate function called.

要求

标头: <exception >

命名空间: std

请参见

参考

<exception>

get_terminate