std::feraiseexcept
De 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. |
<metanoindex/>
<tbody> </tbody>| Déclaré dans l'en-tête <cfenv>
|
||
int feraiseexcept( int excepts ); |
(depuis C++11) | |
Les tentatives visant à sensibiliser toutes les exceptions en virgule flottante figurant dans
excepts (un OU binaire entre l'flottant point exception des macros). Si l'une des exceptions est FE_OVERFLOW ou FE_UNDERFLOW, cette fonction peut en outre FE_INEXACT soulever. L'ordre dans lequel les exceptions sont déclenchées n'est pas spécifié, sauf que FE_OVERFLOW et FE_UNDERFLOW sont toujours soulevée devant FE_INEXACT .Original:
Attempts to raise all floating point exceptions listed in
excepts (a bitwise OR of the flottant point exception des macros). 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.
Paramètres
| excepts | - | masque énumérant les drapeaux d'exceptions à soulever
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. |
Retourne la valeur
0 si toutes les exceptions énumérées ont été soulevées, valeur non nulle sinon .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.
Exemple
#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";
}
}
Résultat :
Raising divbyzero and underflow simultaneously succeeds and results in
division by zero
underflow
Voir aussi
(C++11) |
efface les indicateurs d'état spécifiées à virgule flottante 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. (fonction) |
(C++11) |
détermine quels sont les indicateurs spécifiés état à virgule flottante sont définies 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. (fonction) |