बहुत बार मैं सी कोड की वापसी में त्रुटि कोड की उपेक्षा करता हूं, जैसे return -EINVAL
इसके बजाय return EINVAL
। क्यों इस्तेमाल किया उपेक्षा?
बहुत बार मैं सी कोड की वापसी में त्रुटि कोड की उपेक्षा करता हूं, जैसे return -EINVAL
इसके बजाय return EINVAL
। क्यों इस्तेमाल किया उपेक्षा?
जवाबों:
कई UNIXEN पर, syscalls के लिए कन्वेंशन यह है कि वे त्रुटि के मामले में उपेक्षित त्रुटि कोड, और सफलता के मामले में वास्तविक मान लौटाते हैं।
यह सफलता के मामले में -1
सकारात्मक त्रुटि कोड errno
या वास्तविक मूल्य के साथ त्रुटियों के लिए उपयोगकर्ता के अंतरिक्ष पक्ष में अनुवादित है ।
रिटर्न वैल्यू के इस दोहरे उद्देश्य की आवश्यकता इसलिए है क्योंकि इस तरह की भाषा में कई रिटर्न परेशान करने वाले होते हैं, क्योंकि आपको अंतिम त्रुटि के लिए आउट-पैरामीटर्स में पास होने का सहारा लेना होगा।