feraiseexcept

Belirtilen kayan nokta özel durumlarını oluşturur.

Sözdizimi

int feraiseexcept(
   int excepts
);

Parametreler

excepts
Yükseltilmesi gereken kayan nokta özel durumları.

Dönüş değeri

Belirtilen tüm özel durumlar başarıyla oluşturulursa, 0 döndürür.

Açıklamalar

feraiseexcept işlevi tarafından exceptsbelirtilen kayan nokta özel durumlarını tetiklemeye çalışır. İşlev, feraiseexcept fenv.h> dosyasında <tanımlanan şu özel durum makrolarını destekler:

Özel Durum Makro Açıklama
FE_DIVBYZERO Daha önceki bir kayan nokta işleminde tekillik veya kutup hatası oluştu; bir sonsuzluk değeri oluşturuldu.
FE_INEXACT İşlev, önceki bir kayan nokta işleminin depolanan sonucunu yuvarlatmaya zorlandı.
FE_INVALID Önceki kayan nokta işleminde bir etki alanı hatası oluştu.
FE_OVERFLOW Bir aralık hatası oluştu; Önceki kayan noktalı işlem sonucu temsil edilemeyecek kadar büyükdü.
FE_UNDERFLOW Önceki kayan noktalı işlem sonucu, tam duyarlıkla temsil edilemeyecek kadar küçüktür; bir normal dışı değer oluşturuldu.
FE_ALL_EXCEPT Desteklenen tüm kayan nokta özel durumlarının bit düzeyinde OR değeri.

Bağımsız excepts değişken sıfır, özel durum makro değerlerinden biri veya desteklenen iki veya daha fazla özel durum makrosunun bit düzeyinde VEYA olabilir. Belirtilen özel durum makrolarından biri veya FE_UNDERFLOWFE_INEXACT iseFE_OVERFLOW, özel durum yan etki olarak oluşturulabilir.

Bu işlevi kullanmak için çağrıdan önce yönergesini kullanarak erişimi engelleyebilecek kayan #pragma fenv_access(on) nokta iyileştirmelerini kapatmanız gerekir. Daha fazla bilgi için bkz. fenv_access.

Microsoft'a özgü: içinde excepts belirtilen özel durumlar , , , FE_OVERFLOWFE_DIVBYZEROFE_UNDERFLOW, ve FE_INEXACTsırasıyla FE_INVALIDoluşturulur. Ancak, FE_INEXACT içinde belirtilmese exceptsbile veya FE_UNDERFLOW yükseltildiğinde yükseltilebilirFE_OVERFLOW.

Gereksinimler

İşlev C üst bilgisi C++ üst bilgisi
feraiseexcept <fenv.h> <cfenv>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Alfabetik işlev başvurusu
fesetexceptflag
feholdexcept
fetestexcept
feupdateenv