सामग्री पर जाएं
मॉड्यूल 6

एरर हैंडलिंग और सुरक्षा

उचित एरर हैंडलिंग के साथ मज़बूत C++ कोड लिखें — एक्सेप्शन, RAII सेफ़्टी गारंटी, सम टाइप (sum types) और डिफ़ेंसिव प्रोग्रामिंग के पैटर्न।

एक्सेप्शन और एरर रणनीतियाँ

  1. एक्सेप्शन: throw, try, catch

    C++ के एक्सेप्शन मैकेनिज़्म को समझें — स्टैक अनवाइंडिंग, स्टैंडर्ड एक्सेप्शन हायरार्की, कस्टम एक्सेप्शन, और एरर कोड के बजाय एक्सेप्शन कब चुनना बेहतर है।

  2. एक्सेप्शन सेफ़्टी गारंटी

    एक्सेप्शन सेफ़्टी के तीन स्तर सीखें — बेसिक, स्ट्रॉन्ग और नो-थ्रो — और जानें कि RAII और कॉपी-एंड-स्वैप इन्हें कैसे प्रदान करते हैं।

  3. एरर हैंडलिंग रणनीतियाँ: सही तरीका चुनना

    एक्सेप्शन, एरर कोड और std::expected की तुलना करें — जानें कि कौन-सा तरीका कब उपयुक्त है और कंस्ट्रक्टर, डिस्ट्रक्टर और मल्टीथ्रेडेड कोड में एरर कैसे हैंडल करें।

टाइप सेफ़्टी और डिफ़ेंसिव प्रोग्रामिंग

  1. std::optional, std::variant और std::expected

    नलेबल (nullable) वैल्यू, टाइप-सेफ़ यूनियन और वैल्यू-या-एरर रिटर्न दर्शाने के लिए C++17/23 सम टाइप (sum types) का उपयोग करें — इससे बग की पूरी-पूरी श्रेणियाँ कंपाइल टाइम पर ही खत्म हो जाती हैं।

  2. टाइप सेफ़्टी, असर्शन और कॉन्ट्रैक्ट

    C++ टाइप सिस्टम की मदद से कंपाइल टाइम पर ही बग रोकें — स्ट्रॉन्ग enum, newtype पैटर्न, static_assert, रनटाइम असर्शन, और आने वाला कॉन्ट्रैक्ट फ़ीचर।

  3. अपरिभाषित व्यवहार को समझना और उससे बचना

    जानें कि अपरिभाषित व्यवहार (undefined behavior) क्या है, यह क्यों मौजूद है, कंपाइलर ऑप्टिमाइज़ेशन के लिए इसका कैसे फ़ायदा उठाते हैं, और सैनिटाइज़र तथा कंपाइलर चेतावनियों से इसे कैसे पकड़ें।