C ++ में feraiseexcept () फ़ंक्शन तर्क द्वारा निर्दिष्ट सभी फ़्लोटिंग पॉइंट अपवादों को बढ़ाने का प्रयास करता है।
Feraiseexcept () फ़ंक्शन को हेडर फ़ाइल में परिभाषित किया गया है।
फेरिसेक्सेप्ट () प्रोटोटाइप
int feraiseexcept (इंट एक्सेप्ट);
फ़्लोटिंग पॉइंट अपवादों को उठाया जाना तर्क वितर्क में सूचीबद्ध है।
इसके अलावा, आपको FENV_ACCESS को सक्षम करना चाहिए , जो आपके प्रोग्राम को उठाए गए अपवादों का परीक्षण करने के लिए फ़्लोटिंग पॉइंट वातावरण तक पहुंचने के लिए देगा।
feraiseexcept () पैरामीटर
- छूट: बढ़ाने के लिए अपवाद झंडे की बिटमास्क लिस्टिंग।
मैक्रो | प्रकार | विवरण |
---|---|---|
FE_DIVBYZERO | ध्रुव त्रुटि | शून्य से विभाजन |
FE_INEXACT | निष्प्राण | सटीक परिणाम नहीं जैसे (1.0 / 3.0) |
FE_INVALID | डोमेन त्रुटि | कम से कम एक तर्क का उपयोग किया जाता है जिसके लिए फ़ंक्शन परिभाषित नहीं है |
FE_OVERFLOW | अतिप्रवाह सीमा त्रुटि | परिणाम प्रकार में बहुत बड़ा होता है जिसका रिटर्न प्रकार द्वारा प्रतिनिधित्व किया जाता है |
FE_UNDERFLOW | अंडरफ्लो रेंज एरर | परिणाम प्रकार में बहुत छोटा होता है जिसे रिटर्न प्रकार द्वारा दर्शाया जाता है |
FE_ALL_EXCEPT | सभी अपवाद | कार्यान्वयन द्वारा समर्थित सभी अपवाद |
feraiseexcept () वापसी मान
- यदि अपवाद द्वारा निर्दिष्ट सभी अपवादों को उठाया जाता है, तो फेरिसेसेप्ट () फ़ंक्शन शून्य मान देता है।
- अन्यथा यह नॉनवेज मूल्य लौटाता है।
उदाहरण: feraiseexcept () फ़ंक्शन कैसे काम करता है
#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; )
जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:
सफलतापूर्वक FE_OVERFLOW और FE_INVALID को उठाया गया