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