共用方式為


set_terminate (<exception>)

建立在程式終止呼叫之新的 terminate_handler

terminate_handler 
   set_terminate( 
      terminate_handler fnew 
   ) throw( );

參數

  • fnew
    要呼叫的函式在終止。

傳回值

使用呼叫在結束上一個函式的位址。

備註

函式會建立新的 terminate_handler 做為函式*fnew。 因此,fnew 不得為 null 指標。 函式傳回之前的位址終止處理常式。

範例

// 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