Ц ++ фераисеекцепт () - Ц ++ стандардна библиотека

Функција фераисеекцепт () у Ц ++ покушава да подигне све изузетке са помичном зарезом назначене аргументом.

Функција фераисеекцепт () је дефинисана у датотеци заглавља.

прототип фераисеекцепт ()

 инт фераисеекцепт (инт изузеци);

Изузеци са покретном зарезом које треба покренути наведени су у аргументима изузеци.

Такође, требало би да омогућите ФЕНВ_АЦЦЕСС , који ће вашем програму омогућити приступ окружењу са покретном зарезом да би тестирао покренуте изузетке.

параметри фераисеекцепт ()

  • изузеци: Битмаск списак заставица за изузеће које треба подићи.
Битмаск је прихватио макронаредбе
Макро Тип Опис
ФЕ_ДИВБИЗЕРО Погрешка пола Дељење са нулом
ФЕ_ИНЕКСАЦТ Нетачно Нису тачни резултати као што је (1.0 / 3.0)
ФЕ_ИНВАЛИД Грешка домена Најмање један коришћени аргумент је вредност за коју функција није дефинисана
ФЕ_ОВЕРФЛОВ Грешка у опсегу преливања Резултат је превелике величине да би га могао представити тип повратка
ФЕ_УНДЕРФЛОВ Грешка опсега подлива Резултат је премале величине да би га могао представити тип повратка
ФЕ_АЛЛ_ЕКСЦЕПТ Сви изузеци Сви изузеци подржани имплементацијом

фераисеекцепт () Повратна вредност

  • Функција фераисеекцепт () враћа нулту вредност ако су подигнути сви изузеци наведени у екцептс.
  • У супротном враћа вредност која није нула.

Пример: Како функционише функција фераисеекцепт ()

 #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; )

Када покренете програм, излаз ће бити:

 Успешно подигнути ФЕ_ОВЕРФЛОВ и ФЕ_ИНВАЛИД

Занимљиви Чланци...