एक अच्छे प्रोग्रामर के रूप में एक मजबूत कोड लिखना चाहिए जो उनके प्रोग्राम के हर एक परिणाम को संभाल लेगा। हालाँकि, C लाइब्रेरी से लगभग सभी फ़ंक्शंस 0 या -1 या NULL वापस होंगे जब कोई त्रुटि होगी।
यह कभी-कभी स्पष्ट होता है कि त्रुटि जाँच आवश्यक है, उदाहरण के लिए जब आप किसी फ़ाइल को खोलने का प्रयास करते हैं। लेकिन मैं अक्सर कार्यों में त्रुटि की जाँच को अनदेखा कर देता हूँ जैसे कि printf
या यहाँ तक कि malloc
क्योंकि मुझे आवश्यक नहीं लगता है।
if(fprintf(stderr, "%s", errMsg) < 0){
perror("An error occurred while displaying the previous error.");
exit(1);
}
क्या कुछ त्रुटियों को अनदेखा करना एक अच्छा अभ्यास है, या सभी त्रुटियों को संभालने का एक बेहतर तरीका है?
try
कथन के साथ संलग्न कार्य और विधियाँ भी शामिल हैं , इसलिए आपको हर एक कॉल या ऑपरेशन की जाँच करने की आवश्यकता नहीं है। (यह भी ध्यान दें कि कुछ भाषाएं सरल त्रुटियों का पता लगाने में दूसरों की तुलना में बेहतर हैं, जैसे शून्य से बाहर निकलना या सरणी सूचकांक।)
errno
! मामले में आप परिचित नहीं हैं, जबकि यह सच है कि "सी लाइब्रेरी से लगभग सभी फ़ंक्शन 0 या ,1 या NULL
जब कोई त्रुटि होगी," वे वैश्विक errno
चर भी सेट करते हैं , जिसे आप उपयोग करके #include <errno.h>
और फिर बस पढ़ सकते हैं का मूल्य errno
। इसलिए, उदाहरण के लिए, यदि open
(2) रिटर्न मिलता है -1
, तो आप जांचना चाह सकते हैं कि क्या errno == EACCES
, जो एक अनुमति त्रुटि ENOENT
को इंगित करेगा , या , जो इंगित करेगा कि अनुरोधित फ़ाइल मौजूद नहीं है।
try
/ catch
, हालांकि आप इसे जंप के साथ अनुकरण कर सकते हैं।