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