C ++ fetestexcept () - Bibliothèque standard C ++

La fonction fetestexcept () en C ++ détermine laquelle du sous-ensemble spécifié des exceptions à virgule flottante est actuellement définie.

La fonction fetestexcept () est définie dans le fichier d'en-tête.

prototype de fetestexcept ()

 int fetestexcept (int sauf);

La fonction fetestexcept () teste si l'exception en virgule flottante spécifiée par excepts est actuellement définie. L'argument excepts est un OU au niveau du bit des macros d'exceptions en virgule flottante.

Paramètres de fetestexcept ()

  • excepts: masque de bits répertoriant les indicateurs d'exception à tester.

fetestexcept () Valeur de retour

  • OR au niveau du bit des macros d'exceptions à virgule flottante qui sont toutes deux incluses dans les excepts et correspondent aux exceptions à virgule flottante actuellement définies.

Exemple: Comment fonctionne la fonction fetestexcept ()?

 #include #include #include #pragma STDC FENV_ACCESS ON using namespace std; void print_exceptions() ( cout << "Raised exceptions: "; if(fetestexcept(FE_ALL_EXCEPT)) ( if(fetestexcept(FE_DIVBYZERO)) cout << "FE_DIVBYZERO "; if(fetestexcept(FE_INEXACT)) cout << "FE_INEXACT "; if(fetestexcept(FE_INVALID)) cout << "FE_INVALID "; if(fetestexcept(FE_OVERFLOW)) cout << "FE_OVERFLOW "; if(fetestexcept(FE_UNDERFLOW)) cout << "FE_UNDERFLOW "; ) else cout << "None"; cout << endl; ) int main(void) ( print_exceptions(); feraiseexcept(FE_INVALID|FE_DIVBYZERO); print_exceptions(); feclearexcept(FE_ALL_EXCEPT); print_exceptions(); return 0; )

Lorsque vous exécutez le programme, la sortie sera:

 Exceptions déclenchées: aucune Exception déclenchée: FE_DIVBYZERO FE_INVALID Exceptions déclenchées: aucune

Articles intéressants...