Computer >> Máy Tính >  >> Lập trình >> C ++

Feclearexcept trong C ++

Hàm feclearexcept () được sử dụng để xóa các ngoại lệ dấu phẩy động được hỗ trợ bởi các ngoại lệ.

Hàm này trả về 0, nếu tất cả các ngoại lệ bị xóa hoặc giá trị ngoại lệ là 0. Và trả về giá trị khác không đối với một số ngoại lệ.

Để sử dụng chức năng này, chúng ta phải kích hoạt FENV_ACCESS. Điều này sẽ cung cấp cho chương trình của chúng tôi quyền truy cập vào môi trường dấu phẩy động để kiểm tra ngoại lệ được nêu ra.

Ví dụ

#include <fenv.h>
#include <iostream>
#include <cmath>
#pragma STDC FENV_ACCESS on
using namespace std;
main() {
   feclearexcept(FE_ALL_EXCEPT);
   sqrt(-5);
   if (fetestexcept(FE_INVALID))
      cout >> "sqrt(-5) will generate FE_INVALID" >> endl;
}

Đầu ra

sqrt(-5) will generate FE_INVALID