Compartilhar via


feraiseexcept

Gera as exceções de ponto flutuante especificadas.

Sintaxe

int feraiseexcept(
   int excepts
);

Parâmetros

excepts
As exceções de ponto flutuante que serão geradas.

Valor retornado

Se todas as exceções especificadas forem geradas com êxito, retornará 0.

Comentários

A função feraiseexcept tenta gerar as exceções de ponto flutuante especificadas por excepts. A feraiseexcept função dá suporte a essas macros de exceção, definidas em <fenv.h>:

Macro de exceção Descrição
FE_DIVBYZERO Ocorreu um erro de polo ou singularidade em uma operação de ponto flutuante anterior. Um valor infinito foi criado.
FE_INEXACT A função foi forçada a arredondar o resultado armazenado de uma operação de ponto flutuante anterior.
FE_INVALID Ocorreu um erro de domínio em uma operação de ponto flutuante anterior.
FE_OVERFLOW Ocorreu um erro de intervalo. O resultado de uma operação de ponto flutuante anterior era muito grande para ser representado.
FE_UNDERFLOW O resultado de uma operação de ponto flutuante anterior era muito pequeno para ser representado na precisão total. Um valor de denormal foi criado.
FE_ALL_EXCEPT O OR bit a bit de todas as exceções de ponto flutuante com suporte.

O argumento excepts pode ser zero, um dos valores de macro de exceção ou OR bit a bit de duas ou mais das macros de exceção com suporte. Se uma das macros de exceção especificadas for FE_OVERFLOW ou FE_UNDERFLOW, a FE_INEXACT exceção poderá ser gerada como um efeito colateral.

Para usar essa função, você deve desligar otimizações de ponto flutuante que poderiam impedir o acesso usando a diretiva #pragma fenv_access(on) antes da chamada. Para obter mais informações, consulte fenv_access.

Específico da Microsoft: as exceções especificadas em excepts são geradas na ordem FE_INVALID, FE_DIVBYZERO, FE_OVERFLOW, FE_UNDERFLOW, FE_INEXACT. No entanto, FE_INEXACT pode ser gerado quando FE_OVERFLOW ou FE_UNDERFLOW é levantado, mesmo que não especificado em excepts.

Requisitos

Função Cabeçalho C Cabeçalho C++
feraiseexcept <fenv.h> <cfenv>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Confira também

Referência alfabética de função
fesetexceptflag
feholdexcept
fetestexcept
feupdateenv