다음을 통해 공유


terminate (CRT)

호출 abort 함수를 사용 하 여 지정 하거나 set_terminate.

void terminate( void );

설명

terminate 함수를 C++ 예외 처리를 사용 하 고 다음 경우에 호출 됩니다.

  • Throw 된 C++ 예외에 대 한 일치 하는 catch 처리기를 찾을 수 없습니다.

  • 예외 스택 해제 중 소멸자 함수에서 throw 됩니다.

  • 예외를 throw 한 후 스택 손상 되었습니다.

terminate호출 abort 기본으로 합니다.종료 함수를 직접 작성 하 고 호출 하 여이 기본값을 변경할 수 있습니다 set_terminate 이름에 함수를 인수로 사용 합니다.terminate인수로 주어진 마지막 함수 호출 set_terminate.자세한 내용은 처리 되지 않은 C++ 예외.

요구 사항

루틴

필수 헤더

terminate

<eh.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_terminate.cpp
// compile with: /EHsc
#include <eh.h>
#include <process.h>
#include <iostream>
using namespace std;

void term_func();

int main()
{
    int i = 10, j = 0, result;
    set_terminate( term_func );
    try
    {
        if( j == 0 )
            throw "Divide by zero!";
        else
            result = i/j;
    }
    catch( int )
    {
        cout << "Caught some integer exception.\n";
    }
    cout << "This should never print.\n";
}

void term_func()
{
    cout << "term_func() was called by terminate().\n";

    // ... cleanup tasks performed here

    // If this function does not exit, abort is called.

    exit(-1);
}
  

해당 .NET Framework 항목

해당 사항 없음. 표준 C 함수를 호출할 수 있습니다 PInvoke. 자세한 내용은 플랫폼 호출 예제.

참고 항목

참조

예외 처리 루틴

abort

_set_se_translator

set_terminate (CRT)

set_unexpected (CRT)

unexpected (CRT)