C ++ feraiseexcept () - C ++ Standard Library

Fungsi feraiseexcept () di C ++ mencoba memunculkan semua pengecualian floating point yang ditentukan oleh argumen.

Fungsi feraiseexcept () didefinisikan dalam file header.

feraiseexcept () prototipe

 int feraiseexcept (int excepts);

Pengecualian floating point yang akan dimunculkan tercantum dalam pengecualian argumen.

Selain itu, Anda harus mengaktifkan FENV_ACCESS , yang akan memberikan program Anda untuk mengakses lingkungan titik mengambang untuk menguji pengecualian yang dimunculkan.

feraiseexcept () Parameter

  • excepts: Daftar bitmask tentang flag pengecualian yang akan dimunculkan.
Makro diterima Bitmask
Makro Tipe Deskripsi
FE_DIVBYZERO Kesalahan tiang Pembagian dengan nol
FE_INEXACT Tdk tepat Bukan hasil yang tepat seperti (1.0 / 3.0)
FE_INVALID Kesalahan domain Setidaknya satu argumen yang digunakan adalah nilai yang fungsinya tidak ditentukan
FE_OVERFLOW Kesalahan rentang luapan Besaran hasil terlalu besar untuk diwakili oleh jenis pengembalian
FE_UNDERFLOW Kesalahan rentang underflow Besaran hasil terlalu kecil untuk diwakili oleh jenis pengembalian
FE_ALL_EXCEPT Semua pengecualian Semua pengecualian didukung oleh implementasi

feraiseexcept () Nilai kembali

  • Fungsi feraiseexcept () mengembalikan nilai nol jika semua pengecualian yang ditentukan oleh pengecualian dimunculkan.
  • Jika tidak, ia mengembalikan nilai bukan nol.

Contoh: Bagaimana fungsi feraiseexcept () bekerja

 #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; )

Saat Anda menjalankan program, hasilnya adalah:

 Berhasil mengumpulkan FE_OVERFLOW dan FE_INVALID

Artikel yang menarik...