std::feraiseexcept
Da cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Definido no cabeçalho <cfenv>
|
||
int feraiseexcept( int excepts ); |
(desde C++11) | |
Tentativas de levantar todas as exceções de ponto flutuante listados na
excepts
(um bit a bit OU do flutuando macros de exceção de ponto). Se uma das exceções é FE_OVERFLOW ou FE_UNDERFLOW, esta função pode ainda aumentar FE_INEXACT. A ordem em que as exceções são levantadas é indeterminado, exceto que FE_OVERFLOW e FE_UNDERFLOW são sempre levantadas antes FE_INEXACT.Original:
Attempts to raise all floating point exceptions listed in
excepts
(a bitwise OR of the flutuando macros de exceção de ponto). If one of the exceptions is FE_OVERFLOW or FE_UNDERFLOW, this function may additionally raise FE_INEXACT. The order in which the exceptions are raised is unspecified, except that FE_OVERFLOW and FE_UNDERFLOW are always raised before FE_INEXACT.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Índice |
[editar] Parâmetros
excepts | - | bitmask listando as bandeiras de exceção para levantar
Original: bitmask listing the exception flags to raise The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[editar] Valor de retorno
0 se todas as exceções listadas foram levantadas, valor não-zero, caso contrário.
Original:
0 if all listed exceptions were raised, non-zero value otherwise.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[editar] Exemplo
#include <iostream> #include <cfenv> #pragma STDC FENV_ACCESS ON int main() { std::feclearexcept(FE_ALL_EXCEPT); int r = std::feraiseexcept(FE_UNDERFLOW | FE_DIVBYZERO); std::cout << "Raising divbyzero and underflow simultaneously " << (r?"fails":"succeeds") << " and results in\n"; int e = std::fetestexcept(FE_ALL_EXCEPT); if (e & FE_DIVBYZERO) { std::cout << "division by zero\n"; } if (e & FE_INEXACT) { std::cout << "inexact\n"; } if (e & FE_INVALID) { std::cout << "invalid\n"; } if (e & FE_UNDERFLOW) { std::cout << "underflow\n"; } if (e & FE_OVERFLOW) { std::cout << "overflow\n"; } }
Saída:
Raising divbyzero and underflow simultaneously succeeds and results in division by zero underflow
[editar] Veja também
(C++11) |
limpa os especificados bandeiras de ponto flutuante de status Original: clears the specified floating-point status flags The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função) |
(C++11) |
determina qual dos especificados bandeiras de ponto flutuante de estado são definidas Original: determines which of the specified floating-point status flags are set The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função) |