Namespaces
Variants

abort

From cppreference.net
Défini dans l'en-tête <stdlib.h>
void abort ( void ) ;
(jusqu'à C11)
_Noreturn void abort ( void ) ;
(depuis C11)
(jusqu'à C23)
[ [ noreturn ] ] void abort ( void ) ;
(depuis C23)

Provoque la terminaison anormale du programme sauf si SIGABRT est intercepté par un gestionnaire de signal passé à signal et que le gestionnaire ne retourne pas.

Les fonctions passées à atexit() ne sont pas appelées. La fermeture des ressources ouvertes telles que les fichiers est définie par l'implémentation. Un statut défini par l'implémentation est retourné à l'environnement hôte qui indique une exécution non réussie.

Table des matières

Paramètres

(aucun)

Valeur de retour

(aucun)

Notes

POSIX spécifie que la fonction abort() contourne le blocage ou l'ignoration du signal SIGABRT .

Certaines intrinsèques de compilateur, par exemple __builtin_trap (gcc, clang, et icc) ou __fastfail / __debugbreak (msvc), peuvent être utilisées pour terminer le programme aussi rapidement que possible.

Exemple

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE *fp = fopen("data.txt","r");
    if (fp == NULL)
    {
        fprintf(stderr, "error opening file data.txt in function main()\n");
        abort();
    }
    /* Normal processing continues here. */
    fclose(fp);
    printf("Normal Return\n");
    return 0;
}

Sortie :

error opening file data.txt in function main()

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.22.4.1 La fonction abort (p: 255)
  • Norme C11 (ISO/IEC 9899:2011):
  • 7.22.4.1 La fonction abort (p: 350)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.20.4.1 La fonction abort (p: 315)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.10.4.1 La fonction abort

Voir aussi

provoque la fin normale du programme avec nettoyage
(fonction)
enregistre une fonction à appeler lors exit() de l'appel
(fonction)
provoque la fin normale du programme sans nettoyage complet
(fonction)