C Language
गलती संभालना
खोज…
वाक्य - विन्यास
- # अलग करें <ढ्डह्म>
- इंट इरनो; / * कार्यान्वयन परिभाषित * /
- # अलग करें <string.h>
- char * strerror (int misnum);
- # अलग <stdio.h>
- void पेरोर (const char * s);
टिप्पणियों
ध्यान रखें कि errno
जरूरी नहीं कि एक वैरिएबल है, लेकिन सिंटैक्स केवल एक संकेत है कि इसे कैसे घोषित किया जा सकता है । थ्रेड इंटरफेस के साथ कई आधुनिक प्रणालियों पर errno
कुछ मैक्रो है जो एक ऑब्जेक्ट को हल करता है जो वर्तमान थ्रेड के लिए स्थानीय है।
errno
जब कोई मानक लाइब्रेरी फ़ंक्शन विफल होता है, तो यह अक्सर ग़लती से उपयुक्त त्रुटि कोड सेट करता है। C मानक के लिए ग़लती के लिए कम से कम 3 मानों की आवश्यकता होती है:
मूल्य | अर्थ |
---|---|
EDOM | डोमेन त्रुटि |
ERANGE | सीमा त्रुटि |
EILSEQ | अवैध मल्टी-बाइट चरित्र अनुक्रम |
strerror
यदि perror
पर्याप्त लचीला नहीं है, तो आप <string.h>
strerror
<string.h>
से strerror
को कॉल करके उपयोगकर्ता-पठनीय त्रुटि विवरण प्राप्त कर सकते हैं।
int main(int argc, char *argv[])
{
FILE *fout;
int last_error = 0;
if ((fout = fopen(argv[1], "w")) == NULL) {
last_error = errno;
/* reset errno and continue */
errno = 0;
}
/* do some processing and try opening the file differently, then */
if (last_error) {
fprintf(stderr, "fopen: Could not open %s for writing: %s",
argv[1], strerror(last_error));
fputs("Cross fingers and continue", stderr);
}
/* do some other processing */
return EXIT_SUCCESS;
}
perror
उपयोगकर्ता-पठनीय त्रुटि संदेश को stderr
प्रिंट करने के लिए, perror
को <stdio.h> से कॉल करें।
int main(int argc, char *argv[])
{
FILE *fout;
if ((fout = fopen(argv[1], "w")) == NULL) {
perror("fopen: Could not open file for writing");
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
इस के वर्तमान मूल्य के विषय में एक त्रुटि संदेश प्रिंट होगा errno
।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow