Funkcija feraiseexcept () u C ++ pokušava podići sve iznimke s pomičnim zarezom navedene argumentom.
Funkcija feraiseexcept () definirana je u datoteci zaglavlja.
prototip feraiseexcept ()
int feraiseexcept (int izuzeci);
Iznimke s pomičnim zarezom koje treba pokrenuti navedene su u argumentima izuzeci.
Također, trebali biste omogućiti FENV_ACCESS , koji će vašem programu omogućiti pristup okruženju s plutajućom točkom za testiranje postavljenih iznimaka.
parametri feraiseexcept ()
- izuzeci: Bitmask popis iznimki koje treba podići.
Makro | Tip | Opis |
---|---|---|
FE_DIVBYZERO | Pogreška pola | Podjela s nulom |
FE_INEXACT | Netočan | Nisu točni rezultati poput (1,0 / 3,0) |
FE_INVALID | Pogreška domene | Barem jedan korišteni argument je vrijednost za koju funkcija nije definirana |
FE_OVERFLOW | Pogreška dometa preljeva | Rezultat je prevelike veličine da bi ga mogao predstaviti tip povratka |
FE_UNDERFLOW | Pogreška raspona podtoka | Rezultat je premale veličine da bi ga mogao predstaviti tip povratka |
FE_ALL_EXCEPT | Sve iznimke | Sve iznimke podržane provedbom |
feraiseexcept () Povratna vrijednost
- Funkcija feraiseexcept () vraća nultu vrijednost ako se povećaju svi izuzeci navedeni izuzecima.
- U suprotnom vraća vrijednost koja nije nula.
Primjer: Kako funkcionira funkcija feraiseexcept ()
#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; )
Kada pokrenete program, izlaz će biti:
Uspješno podignuti FE_OVERFLOW i FE_INVALID