C ++ feraiseexcept () - C ++ standardna biblioteka

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.
Bitmask je prihvatio makronaredbe
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

Zanimljivi članci...