feraiseexcept函数
概要:
#include <fenv.h> int feraiseexcept(int excepts);
描述:
该函数尝试引发参数excepts表示的实现支持的浮点异常。
通常情况下浮点异常的引发顺序是不作规定的。当引发FE_OVERFLOW或者FE_UNDERFLOW浮点异常时,是否会引发FE_INEXACT浮点异常将由实现定义。如果参数excepts表示的浮点异常是IEC 60559标准中原子操作的有效浮点异常,FE_OVERFLOW或者FE_UNDERFLOW浮点异常先于FE_INEXACT浮点异常引发。
函数fetestexcept、feraiseexcept、feclearexcept支持设置或者清除浮点状态标志的基本抽象。具体实现中,浮点状态标志可能包含更多信息,例如:首次引发浮点异常的代码地址;函数fegetexceptflag、fesetexceptflag能够处理浮点状态标志的全部内容。
参数:
int excepts
参数为位掩码值,表示浮点异常的子集,可以是0,也可以是一个或者多个实现支持的浮点异常宏的按位或运算值(例如:FE_OVERFLOW|FE_INEXACT)。如果参数是其它值,函数行为是未定义的。
返回值:
如果参数excepts为0或者如果指定的浮点异常均成功引发,函数返回0;否则函数返回非0值。
范例:
|
|
输出:
The following exceptions are set:
FE_DIVBYZERO
The following exceptions are set:
FE_INEXACT
FE_OVERFLOW
The following exceptions are set:
FE_INEXACT
FE_UNDERFLOW
相关内容:
feclearexcept | 清除浮点异常的函数。 |
fegetexceptflag | 获取浮点异常标志的函数。 |
fesetexceptflag | 设置浮点异常标志的函数。 |
fetestexcept | 测试浮点异常的函数。 |