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

C में एरर हैंडलिंग

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

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

सामान्य एरर कोड

क्रमांकएरर और मान
1I/O एरर
5
2ऐसी कोई फ़ाइल या डायरेक्टरी नहीं
2
3आर्गुमेंट लिस्ट बहुत लंबी
7
4मेमोरी समाप्त
12
5परमिशन अस्वीकृत
13

C में एरर हैंडलिंग के तरीके

  • perror() - यह फ़ंक्शन एरर प्रिंट करने के लिए उपयोग किया जाता है और यह करंट errno मान के टेक्स्टुअल प्रतिनिधित्व के साथ स्ट्रिंग लौटाता है।
  • strerror() - यह फ़ंक्शन "string.h" हेडर फ़ाइल में घोषित है और यह करंट errno मान की स्ट्रिंग का पॉइंटर लौटाता है।
  • एक्ज़िट स्टेटस - दो कांस्टेंट EXIT_SUCCESS और EXIT_FAILURE हैं जिनका उपयोग कॉलिंग फ़ंक्शन को एरर के बारे में सूचित करने के लिए exit() फ़ंक्शन में किया जा सकता है।
  • शून्य से विभाजन - यह एक ऐसी स्थिति है जिसमें C भाषा में इस एरर को हैंडल करने के लिए कुछ नहीं किया जा सकता। इस एरर से बचें और प्रोग्राम में 'if' कंडीशन का उपयोग करके डिवाइजर मान की जांच कर सकते हैं।

उदाहरण

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

int main() {
    int x = 28;
    int y = 8;
    int z;
    
    if (y == 0) {
        fprintf(stderr, "शून्य से विभाजन!\n");
        exit(EXIT_FAILURE);
    }
    
    z = x / y;
    fprintf(stderr, "z का मान: %d\n", z);
    exit(EXIT_SUCCESS);
}

आउटपुट

z का मान: 3
  1. विस्टा पर 0x0000c1f5 ब्लू स्क्रीन त्रुटि हल करें - चरण-दर-चरण समाधान विस्टा पर 0x0000c1f5 ब्लू स्क्रीन त्रुटि हल करें - चरण-दर-चरण समाधान

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

  1. विंडोज विस्टा पर 0x0000c1f5 ब्लू स्क्रीन ठीक करें: त्वरित ड्राइवर और लॉग फाइल मरम्मत विंडोज विस्टा पर 0x0000c1f5 ब्लू स्क्रीन ठीक करें: त्वरित ड्राइवर और लॉग फाइल मरम्मत

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

  1. MULTIPLE_IRP_COMPLETE_REQUESTS BSOD एरर को हल करें MULTIPLE_IRP_COMPLETE_REQUESTS BSOD एरर को हल करें

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