C ++ feraiseexcept () - Perpustakaan Standard C ++

Fungsi feraiseexcept () dalam C ++ cuba menaikkan semua pengecualian titik apungan yang ditentukan oleh argumen.

Fungsi feraiseexcept () didefinisikan dalam fail tajuk.

prototaip feraiseexcept ()

 int feraiseexcept (int kecuali);

Pengecualian floating point yang akan dibangkitkan disenaraikan dalam argumen kecuali.

Anda juga harus mengaktifkan FENV_ACCESS , yang akan memberi program anda untuk mengakses persekitaran Titik Terapung untuk menguji pengecualian yang dikemukakan.

feraiseexcept () Parameter

  • kecuali: Senarai bitmask tanda pengecualian untuk dinaikkan
Makro yang diterima Bitmask
Makro Jenis Penerangan
FE_DIVBYZERO Kesalahan tiang Pembahagian dengan sifar
FE_INEXACT Tidak tepat Hasil yang tidak tepat seperti (1.0 / 3.0)
FE_INVALID Kesalahan domain Sekurang-kurangnya satu argumen yang digunakan adalah nilai yang fungsinya tidak ditentukan
FE_OVERFLOW Kesalahan julat limpahan Hasilnya terlalu besar dalam ukuran untuk ditunjukkan oleh jenis pengembalian
FE_UNDERFLOW Kesalahan julat aliran bawah Hasilnya terlalu kecil pada skala besar untuk diwakili oleh jenis pengembalian
FE_ALL_EXCEPT Semua pengecualian Semua pengecualian disokong oleh pelaksanaan

feraiseexcept () Nilai pulangan

  • Fungsi feraiseexcept () mengembalikan nilai sifar jika semua pengecualian yang ditentukan oleh kecuali dinaikkan.
  • Jika tidak, ia mengembalikan nilai bukan sifar.

Contoh: Bagaimana fungsi feraiseexcept () berfungsi

 #include #include #pragma STDC FENV_ACCESS ON using namespace std; int main() ( int retVal; feclearexcept(FE_ALL_EXCEPT); retVal = feraiseexcept(FE_OVERFLOW | FE_INVALID); if (retVal == 0) cout << "Successfully raised FE_OVERFLOW and FE_INVALID" << endl; else cout << "Raising FE_OVERFLOW and FE_INVALID failed" << endl; return 0; )

Semasa anda menjalankan program, outputnya adalah:

 Berjaya menaikkan FE_OVERFLOW dan FE_INVALID

Artikel menarik...