C में कुछ अन्य भाषाओं की तरह अपवादों के लिए निर्मित समर्थन नहीं है। इसके बजाय, यह कुछ पारंपरिक त्रुटि-संभालने की रणनीतियों पर निर्भर करता है, जैसे कि फ़ंक्शन से विशेष मूल्यों को लौटाना और errno जैसे वैश्विक चर को सेट करना। विशेष मूल्यों को लौटाना फ़ंक्शन एक विशिष्ट मूल्य लौटाकर त्रुटियों का संकेत दे सकते हैं जो मान्य परिणाम होना असंभाव्य है। यहाँ इन अवधारों से एक उदाहरण है.
errno
C में, लॉगिंग को मूल फाइल ऑपरेशंस के साथ या अधिक सोफिस्टिकेटेड लाइब्रेरीज़ का उपयोग करके हासिल किया जा सकता है। सादगी के लिए, हम मानक आई/ओ लाइब्रेरी के साथ शुरू करेंगे। निम्नलिखित स्निपेट्स मूल लॉगिंग कार्यान्वयन को प्रदर्शित करते हैं। सरल संदेश लॉग करने के लिए.
C में, एक फ़ंक्शन को एक रिटर्न प्रकार, एक नाम, और पैरामीटर्स (यदि कोई हो) के साथ घोषित किया जाता है, इसके बाद एक कोड ब्लॉक होता है। आइए एक सरल उदाहरण से शुरू करें.
रिफैक्टरिंग में स्पष्टता के लिए चर का नाम बदलने से लेकर कोड की संरचना को बेहतर मॉड्यूलरीकरण के लिए बदलने तक विभिन्न तकनीकें शामिल हो सकती हैं। यहाँ एक सरल उदाहरण दिया गया है जो दिखाता है कि कैसे C कोड के एक टुकड़े को बेहतर स्पष्टता और कुशलता के लिए रिफैक्टर किया जाए। रिफैक्टरिंग से पहले.