Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

set_terminate (CRT)

Installe votre propre routine d'arrêt pour être appelé par terminate

terminate_function set_terminate(
   terminate_function termFunction
);

termFunction

Pointeur vers une fonction de fin que vous spécifiez.

Retourne un pointeur vers la fonction de traduction précédente indiquée par set_terminate afin que la fonction précédente puisse être restaurée plus tard. Si aucune fonction n'est définie, la valeur de retour peut être utilisée pour restaurer le comportement par défaut ; cette valeur peut être NULL.

La fonction set_terminate installe termFunction comme la fonction appelée par terminate. set_terminate est utilisé dans la gestion des exceptions C++ et peut être appelée à tout moment dans votre programme avant que l'exception ne soit levée. Par défaut, terminate appelle abort. Vous pouvez modifier ce comportement par défaut en écrivant votre propre fonction d'arrêt et en appelant set_terminate avec le nom de votre fonction comme son argument. La routine terminateappelle toujours la dernière fonction donnée comme argument à set_terminate. Après avoir effectué les tâches de nettoyage souhaitées, termFunction doit quitter le programme. S'il ne se termine pas (si elle revient à son appelant), abort est appelé.

Dans un environnement multithread, les fonctions de traduction qui terminent sont contenues séparément pour chaque thread. Chacun des nouveaux threads a beson d'installer sa propre fonctionde traduction qui termine. Par conséquent, chaque thread est responsable de sa propre gestion de traduction qui termine.

Le type terminate_function est défini dans EH.H en tant que pointeur vers une fonction inattendue définie par l'utilisateur et qui termine, termFunction qui retourne void. La fonction personnalisée termFunction peut ne prendre aucun argument et ne doit pas retourner à l'appelant. Si il le fait, abort est appellé. Une exception ne peut être relevée depuis termFunction.

typedef void ( *terminate_function )( );
RemarqueRemarque

La fonction set_terminate fonctionne uniquement hors du débogueur.

Il existe un seul gestionnaire set_terminate pour toutes les DLL ou EXEs dynamiquement liés ; même si vous appelez set_terminate votre gestionnaire peut être remplacé par un autre ou que vous remplacez un set de gestionnaire par une DLL ou un fichier EXE différent.

Cette fonctionnalité n'est pas prise en charge sous /clr:pure.

Routine

En-tête requis

set_terminate

<EH.H>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

Voir l'example pour terminaison.

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft