Participer au site avec un Tip
Rechercher
 

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 :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction fetestexcept (C99)

La fonction fesetround La fonction fetestexceptflag


Entête à inclure

#include <fenv.h>  // <cfenv> en C++

Fonction fetestexcept (C99)

int fetestexcept( int excepts );

Cette fonction teste les indicateurs d'exception flottante actuellement positionnés.

Paramètres

Valeur de retour

La fonction renvoie le OU binaire des macros d'exception actuellement positionnées parmi celles demandées par excepts. Si aucune exception demandée n'est positionnée, elle renvoie 0.

Exemple de code

Le programme suivant provoque une division par zéro flottante, puis teste l'indicateur FE_DIVBYZERO.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
#include <fenv.h>
#include <stdio.h>

#pragma STDC FENV_ACCESS ON

int main() {

    volatile double zero = 0.0;

    feclearexcept( FE_ALL_EXCEPT );
    (void) ( 1.0 / zero );

    if ( fetestexcept( FE_DIVBYZERO ) ) {
        puts( "Division par zero detectee." );
    }

    return 0;
}
Tester une exception flottante

Sujets connexes

Exceptions en virgule flottante
feclearexcept
feraiseexcept


La fonction fesetround La fonction fetestexceptflag




Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé