मैं दो अलग अलग तरीकों के लिए दो कॉल:त्रुटि मूल्य कैसे सेट करें?
void func1()
{
// do something
if (fail)
{
// then set errno to EEXIST
}
}
और दूसरी विधि:
void func2()
{
// do something
if (fail)
{
// then set errno to ENOENT
}
}
जब मैं कुछ मूल्य को
errno
निर्धारित करते हैं, क्या यह क्या करता है? बस त्रुटि की जांच?मैं कैसे
EEXIST
को उपरोक्त विधियोंfunc1
मेंerrno
औरfunc2
औरENOENT
धन्यवाद
परंपरागत रूप से, 'त्रुटि' रिपोर्टिंग * सिस्टम त्रुटियों * के लिए उपयोग किया जाता है। क्या आपको लगता है कि आपकी लाइब्रेरी थी या आपका कोड सिस्टम का हिस्सा है? यदि नहीं, त्रुटियों की रिपोर्ट करने के लिए एक और तंत्र का उपयोग करें। –
जरूरी नहीं है, strtol() जैसे उपयोगिता कार्य भी ERANGE लौटते हैं, उदाहरण के लिए, यह वास्तव में _system त्रुटि_ नहीं है। – proteus
एंटनो सेट करने के लिए उपयुक्त स्थान हो सकता है, जो फनओपेन() पर पास किए गए पढ़ने या लिखने के फ़ंक्शन कॉलबैक में होगा। इस मामले में आपके कार्यान्वयन से सिस्टम कॉल (पढ़ें() या लिखना()) के अनुबंध से मेल खाने की उम्मीद है, इसलिए त्रुटि के मामले में -1 को वापस करने और विशिष्ट त्रुटि के साथ त्रुटि सेट करने का अर्थ होगा। – orpheist