Funktsioon feraiseexcept () proovib C ++ -s tõsta kõiki argumendiga määratud ujukomaerandeid.
Funktsioon feraiseexcept () on määratletud päisefailis.
feraiseexcept () prototüüp
int feraiseexcept (int välistab);
Tõstetavad ujukomaerandid on loetletud argumendi välistustes.
Samuti peaksite lubama FENV_ACCESS , mis annab teie programmile juurdepääsu hõljuva punkti keskkonda, et testida tõstatatud erandeid.
feraiseexcept () parameetrid
- välja arvatud: tõstatatavate erandlippude nimekiri Bitmask.
Makro | Tüüp | Kirjeldus |
---|---|---|
FE_DIVBYZERO | Pooluse viga | Nulliga jagamine |
FE_INEXACT | Täpne | Pole täpsed tulemused, näiteks (1.0 / 3.0) |
FE_INVALID | Domeeni viga | Vähemalt üks kasutatud argumentidest on väärtus, mille jaoks funktsiooni pole määratletud |
FE_OVERFLOW | Ülevoolu vahemiku viga | Tulemus on liiga suur, et seda tagasitüübiga näidata |
FE_UNDERFLOW | Allavoolu vahemiku viga | Tulemus on liiga väike, et seda tagasituleku tüübiga näidata |
FE_ALL_EXCEPT | Kõik erandid | Kõik rakendamise toetatud erandid |
feraiseexcept () Tagastusväärtus
- Funktsioon feraiseexcept () tagastab nulli väärtuse, kui tõstetakse kõiki eranditega määratud erandeid.
- Vastasel juhul tagastab see nulli väärtuse.
Näide: kuidas funktsioon feraiseexcept () töötab
#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; )
Programmi käivitamisel on väljund järgmine:
FE_OVERFLOW ja FE_INVALID tõstmine õnnestus