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 | 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