C ++ feraiseexcept () - Biblioteca estándar de C ++

La función feraiseexcept () en C ++ intenta generar todas las excepciones de punto flotante especificadas por el argumento.

La función feraiseexcept () se define en el archivo de encabezado.

feraiseexcept () prototipo

 int feraiseexcept (int excepciones);

Las excepciones de coma flotante que se generarán se enumeran en el argumento excepciones.

Además, debe habilitar FENV_ACCESS , lo que le permitirá a su programa acceder al entorno de coma flotante para probar las excepciones planteadas.

Parámetros feraiseexcept ()

  • excepciones: lista de máscara de bits de banderas de excepción para generar.
Macros aceptadas de máscara de bits
Macro Tipo Descripción
FE_DIVBYZERO Error de polo División por cero
FE_INEXACT Inexacto Resultados no exactos como (1.0 / 3.0)
FE_INVALID Error de dominio Al menos uno de los argumentos utilizados es un valor para el que la función no está definida
FE_OVERFLOW Error de rango de desbordamiento El resultado es demasiado grande en magnitud para ser representado por el tipo de retorno
FE_UNDERFLOW Error de rango de subdesbordamiento El resultado es demasiado pequeño en magnitud para ser representado por el tipo de retorno
FE_ALL_EXCEPT Todas las excepciones Todas las excepciones respaldadas por la implementación

feraiseexcept () Valor de retorno

  • La función feraiseexcept () devuelve un valor cero si se generan todas las excepciones especificadas por excepciones.
  • De lo contrario, devuelve un valor distinto de cero.

Ejemplo: cómo funciona la función feraiseexcept ()

 #include #include #pragma STDC FENV_ACCESS ON using namespace std; int main() ( int retVal; feclearexcept(FE_ALL_EXCEPT); retVal = feraiseexcept(FE_OVERFLOW | FE_INVALID); if (retVal == 0) cout << "Successfully raised FE_OVERFLOW and FE_INVALID" << endl; else cout << "Raising FE_OVERFLOW and FE_INVALID failed" << endl; return 0; )

Cuando ejecute el programa, la salida será:

 Aumentó correctamente FE_OVERFLOW y FE_INVALID

Articulos interesantes...