Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी . में त्रुटि प्रबंधन


त्रुटि प्रबंधन सी भाषा द्वारा समर्थित नहीं है। कुछ अन्य तरीके हैं जिनसे C भाषा में एरर हैंडलिंग की जा सकती है। हेडर फ़ाइल "error.h" का उपयोग रिटर्न स्टेटमेंट फ़ंक्शन का उपयोग करके त्रुटियों को प्रिंट करने के लिए किया जाता है।

यह किसी भी त्रुटि के मामले में -1 या NULL देता है और त्रुटि कोड के साथ त्रुटि चर सेट किया जाता है। जब भी C भाषा में किसी फंक्शन को कॉल किया जाता है तो इरनो वेरिएबल उससे जुड़ा होता है। errno एक वैश्विक चर है और इसका उपयोग निष्पादन में त्रुटि के प्रकार को खोजने के लिए किया जाता है।

निम्न तालिका कुछ त्रुटियों को प्रदर्शित करती है -

Sr.No त्रुटियों और त्रुटि मान
1 I/O त्रुटि
5
2 ऐसी कोई फ़ाइल या निर्देशिका नहीं
2
3 तर्क सूची बहुत लंबी है
7
4 स्मृति समाप्त
12
5 अनुमति अस्वीकृत
13

C भाषा में त्रुटियों से निपटने के कुछ तरीके हैं -

  • आतंक () - इस फ़ंक्शन का उपयोग त्रुटि को प्रिंट करने के लिए किया जाता है और यह स्ट्रिंग को वर्तमान त्रुटि मान के पाठ्य प्रतिनिधित्व के साथ लौटाता है।

  • आतंक () - यह फ़ंक्शन "string.h" हेडर फ़ाइल में घोषित किया गया है और यह पॉइंटर को वर्तमान त्रुटि मान की स्ट्रिंग पर लौटाता है।

  • निकास स्थिति - दो स्थिरांक EXIT_SUCCESS और EXIT_FAILURE हैं जिनका उपयोग फ़ंक्शन से बाहर निकलने () में कॉलिंग फ़ंक्शन को त्रुटि के बारे में सूचित करने के लिए किया जा सकता है।

  • शून्य से विभाजित - यह एक ऐसी स्थिति है जिसमें C भाषा में इस त्रुटि को संभालने के लिए कुछ नहीं किया जा सकता है। इस त्रुटि से बचें और आप प्रोग्राम में 'if' कंडीशन का उपयोग करके भाजक मान की जांच कर सकते हैं।

यहाँ C भाषा में त्रुटि प्रबंधन का एक उदाहरण दिया गया है,

उदाहरण

#include <stdio.h>
#include <stdlib.h>

main() {
   int x = 28;
   int y = 8;
   int z;

   if( y == 0) {
      fprintf(stderr, "Division by zero!\n");
      exit(EXIT_FAILURE);
   }
   z = x / y;
   fprintf(stderr, "Value of z : %d\n", z );
   exit(EXIT_SUCCESS);
}

आउटपुट

यहाँ आउटपुट है

Value of z : 3

  1. 0x0000c1f5 त्रुटि ठीक करें

    0x0000c1f5 ब्लू स्क्रीन त्रुटि जब आप अपने विस्टा आधारित पीसी को बूट करते हैं तो दिखाया जाता है, और यह आपके हार्डवेयर के लिए ड्राइवरों के साथ संघर्ष के कारण होता है। यदि आप त्रुटि का अनुभव कर रहे हैं, तो अच्छी खबर यह है कि आप इस आलेख में उल्लिखित चरणों का उपयोग करके उन संभावित त्रुटियों को हल करने मे

  1. 0x0000c1f5 त्रुटि ठीक करें

    0x0000c1f5 ब्लू स्क्रीन त्रुटि जब आप अपने विस्टा आधारित पीसी को बूट करते हैं तो दिखाया जाता है, और यह आपके हार्डवेयर के लिए ड्राइवरों के साथ संघर्ष के कारण होता है। यदि आप त्रुटि का अनुभव कर रहे हैं, तो अच्छी खबर यह है कि आप इस आलेख में उल्लिखित चरणों का उपयोग करके उन संभावित त्रुटियों को हल करने मे

  1. MULTIPLE_IRP_COMPLETE_REQUESTS त्रुटि को ठीक करें

    MULTIPLE_IRP_COMPLETE_REQUESTS त्रुटि ठीक करें:  यदि आप 0x00000044 के बग चेक मान और मौत की नीली स्क्रीन के साथ कई_IRP_Complete_Requests का सामना कर रहे हैं, तो यह इंगित करता है कि एक ड्राइवर ने IRP (I/O अनुरोध पैकेट) को पूरा करने का अनुरोध करने का प्रयास किया है जो पहले से ही पूरा हो चुका है, इसलिए