Compartilhar via


set_terminate (CRT)

Instala sua própria rotina de finalização deve ser chamado por terminate.

terminate_function set_terminate(
   terminate_function termFunction
);

Parâmetros

  • termFunction
    Ponteiro para um terminar função que você escreve.

Valor de retorno

Retorna um ponteiro para a função anterior registrada por set_terminate para que a função anterior pode ser restaurada posteriormente. Se nenhuma função anterior tiver sido conjunto, o valor retornado pode ser usado restauração o comportamento padrão; esse valor pode ser nulo.

Comentários

The set_terminate instalações de função termFunction função de chamada por terminate. set_terminate é usado com tratamento de exceções do C++ e pode ser chamado em qualquer ponto no seu programa antes que a exceção é lançada. terminate chamadas abort Por padrão. Você pode alterar esse padrão escrever sua própria função de encerramento e chamando set_terminate com o nome da sua função sistema autônomo seu argumento. terminate chama a função última fornecida sistema autônomo um argumento para set_terminate. Depois de executar tarefas de limpeza, qualquer desejadotermFunction deve sair do programa. Se ele não sair (se ela retorna a seu chamador), abort é chamado.

Em um ambiente multithreaded, terminar funções são mantidas separadamente para cada thread.Cada novo segmento precisa instalar sua própria função de encerramento.Assim, cada thread é responsável por seu próprio tratamento de terminação.

The terminate_function tipo EH.H está definido sistema autônomo um ponteiro para uma função de encerramento definido pelo usuário termFunction que retorna void. Sua função personalizada termFunction pode levar sem argumentos e não deve retornar para seu chamador. Em caso afirmativo, abort é chamado. Uma exceção não pode ser lançada de dentro de termFunction.

typedef void ( *terminate_function )( );
Observação:

O set_terminate função só funciona fora do depurador.

Há um único set_terminate manipulador para todos os vinculados dinamicamente DLLs ou EXEs; mesmo se você chamar set_terminate o manipulador pode ser substituído por outro ou pode substituir um manipulador conjunto por outra DLL ou EXE.

Não há suporte para essa função em /clr:pure.

Requisitos

Rotina

Cabeçalho necessário

set_terminate

<eh.h>

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

Exemplo

Consulte o exemplo para terminar.

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Rotinas de manipulação de exceção

anular

_get_terminate

set_unexpected (CRT)

terminar (CRT)

inesperado (CRT)