Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::feraiseexcept

      From cppreference.com
      <cpp‎ |numeric‎ |fenv
       
       
       
      Floating-point environment
      Functions
      feraiseexcept
      (C++11)
      (C++11)(C++11)
      (C++11)(C++11)
      Macro constants
      (C++11)
       
      Defined in header<cfenv>
      int feraiseexcept(int excepts);
      (since C++11)

      Attempts to raise all floating point exceptions listed inexcepts (a bitwise OR of thefloating point exception macros). If one of the exceptions isFE_OVERFLOW orFE_UNDERFLOW, this function may additionally raiseFE_INEXACT. The order in which the exceptions are raised is unspecified, except thatFE_OVERFLOW andFE_UNDERFLOW are always raised beforeFE_INEXACT.

      Contents

      [edit]Parameters

      excepts - bitmask listing the exception flags to raise

      [edit]Return value

      0 if all listed exceptions were raised, non-zero value otherwise.

      [edit]Example

      Run this code
      #include <cfenv>#include <iostream> // #pragma STDC FENV_ACCESS ON int main(){std::feclearexcept(FE_ALL_EXCEPT);constint r= std::feraiseexcept(FE_UNDERFLOW|FE_DIVBYZERO);std::cout<<"Raising divbyzero and underflow simultaneously "<<(r?"fails":"succeeds")<<" and results in\n"; constint e=std::fetestexcept(FE_ALL_EXCEPT);if(e&FE_DIVBYZERO)std::cout<<"division by zero\n";if(e&FE_INEXACT)std::cout<<"inexact\n";if(e&FE_INVALID)std::cout<<"invalid\n";if(e&FE_UNDERFLOW)std::cout<<"underflow\n";if(e&FE_OVERFLOW)std::cout<<"overflow\n";}

      Output:

      Raising divbyzero and underflow simultaneously succeeds and results indivision by zerounderflow

      [edit]See also

      clears the specified floating-point status flags
      (function)[edit]
      determines which of the specified floating-point status flags are set
      (function)[edit]
      C documentation forferaiseexcept
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/fenv/feraiseexcept&oldid=150989"

      [8]ページ先頭

      ©2009-2025 Movatter.jp