feraiseexcept函数
概要:
#include <fenv.h> int feraiseexcept(int excepts);
描述:
该函数尝试引发参数excepts表示的实现支持的浮点异常。
通常情况下浮点异常的引发顺序是不作规定的。当引发FE_OVERFLOW或者FE_UNDERFLOW浮点异常时,是否会引发FE_INEXACT浮点异常将由实现定义。如果参数excepts表示的浮点异常同时包含FE_OVERFLOW浮点异常和FE_INEXACT浮点异常,FE_OVERFLOW浮点异常先于FE_INEXACT浮点异常引发;类似地,如果参数excepts表示的浮点异常同时包含FE_UNDERFLOW浮点异常和FE_INEXACT浮点异常,FE_UNDERFLOW浮点异常先于FE_INEXACT浮点异常引发。
函数fetestexcept、feraiseexcept、fesetexcept、feclearexcept支持设置或者清除浮点状态标志的基本抽象。具体实现中,浮点状态标志可能包含更多信息,例如:首次引发浮点异常的代码地址;函数fegetexceptflag、fesetexceptflag、fetestexceptflag能够处理浮点状态标志的全部内容。
参数:
参数为位掩码值,表示浮点异常的子集,可以是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 | 测试浮点异常标志(基本抽象)的函数。 |
| fesetexcept | 设置浮点异常标志(基本抽象)的函数。 |
| fetestexceptflag | 测试浮点异常标志(完整内容)的函数。 |
主要参考资料: