Share via


feraiseexcept

引發指定的浮點例外狀況。

語法

int feraiseexcept(
   int excepts
);

參數

excepts
要引發的浮點例外狀況。

傳回值

如果成功引發所有指定的例外狀況,則傳回 0。

備註

feraiseexcept 函式嘗試引發 excepts 指定的浮點例外狀況。 函 feraiseexcept 式支援在 fenv.h > 中 < 定義的這些例外狀況宏:

例外狀況巨集 描述
FE_DIVBYZERO 在稍早的浮點運算中發生的獨一性或極錯誤,已建立無限大值。
FE_INEXACT 函式已強制四捨五入稍早的浮點運算預存結果。
FE_INVALID 在稍早的浮點運算中發生的網域錯誤。
FE_OVERFLOW 發生範圍錯誤,稍早的浮點運算結果太大,無法表示。
FE_UNDERFLOW 稍早的浮點運算結果太小,無法以完整精確度表示;已建立 denormal 值。
FE_ALL_EXCEPT 所有受支援浮點例外狀況的位元 OR。

excepts 引數可以是零、例外狀況巨集之一,或兩個或以上受支援例外狀況巨集的位元 OR。 如果其中一個指定的例外狀況宏是 FE_OVERFLOWFE_UNDERFLOWFE_INEXACT 則例外狀況可能會引發為副作用。

若要使用此函式,您必須在呼叫之前使用 #pragma fenv_access(on) 指示詞,以關閉可能會妨礙存取的浮點最佳化作業。 如需詳細資訊,請參閱fenv_access

Microsoft 特定: 中指定的 excepts 例外狀況會依 、 、 FE_DIVBYZEROFE_OVERFLOWFE_UNDERFLOWFE_INEXACT 的順序 FE_INVALID 引發。 不過, FE_INEXACT 即使 中 excepts 未指定,也可以在 或 FE_UNDERFLOW 引發時 FE_OVERFLOW 引發。

需求

函式 C 標頭 C++ 標頭
feraiseexcept <fenv.h> <cfenv>

如需相容性詳細資訊,請參閱相容性

另請參閱

字母函數參考
fesetexceptflag
feholdexcept
fetestexcept
feupdateenv