#include <stdlib.h> // <cstdlib> en C++
void abort( void );
La fonction abort
arrête, de mainière « anormale », l'exécution du programme et déclenche le signal SIGABRT
pour en informer l'appelant.
Tous les flux de caractères du programme sont alors vidés et fermés.
Cette fonction est à utiliser en cas de détection d'un problème grave : si ce n'est pas le cas, préférez l'utilisation de la fonction exit
qui opère une
terminaison normale du programme.
SIGABRT
: si le gestionnaire du signal ne rend pas la main,
la sortie du processus est alors annulée.
Aucun paramètre n'es défini sur cette fonction.
Cette fonction ne renvoit pas de valeur de retour.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#include <stdio.h> #include <stdlib.h> int main() { FILE * file = fopen( "conf.txt", "r" ); if ( file == NULL ) { fputs( "L'application ne peut accéder à son fichier de configuration.\n", stderr ); fputs( "Démarrage intérrompu !\n", stderr ); abort(); } // Do something fclose( file ); return EXIT_SUCCESS; } |
Et voici le résultat produit par cet exemple : notez la présence de la ligne Abandon (core dumped)
(sous système Linux/Unix) que indique la sortie anormale du programme.
Un « dump » de l'état mémoire du processus doit être produit par un système Linux/Unix.
$> gcc -o sample sample.c $> ./sample L'application ne peut accéder à son fichier de configuration. Démarrage intérrompu ! Abandon (core dumped) $>
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :