C ++ feraiseexcept () - C ++ standardraamatukogu

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.
Bitmask aktsepteeris makrosid
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

Huvitavad Artiklid...