असर्शन स्टेटमेंट्स रनटाइम पर प्रोग्राम लॉजिक त्रुटियों को पकड़ने का एक प्रभावी तरीका है। इसके दो तर्क होते हैं:
- एक बूलियन एक्सप्रेशन जो सही कंडीशन के लिए होता है, और
- गलत होने पर क्या प्रदर्शित करना है।
असर्शन बड़े और जटिल प्रोग्राम्स में त्रुटियों को तेजी से पहचानने के लिए उपयोगी होते हैं जो आमतौर पर कोड संशोधन के समय उत्पन्न होती हैं। असर्शन मेथड के अंदर किसी भी फंक्शन कॉल का उपयोग करने से बचें।
आपको यह सुनिश्चित करना होगा कि असर्शन के अंदर जो भी कोड आप जोड़ते हैं, अगर उसे हटा दिया जाए तो आउटपुट नहीं बदलना चाहिए। यह तब होता है जब आप अपने प्रोग्राम में Debug.Assert लागू करते हैं।
इसे लागू करने के लिए, आप एक अस्थायी वेरिएबल का उपयोग कर सकते हैं:
int temp = DecCounter(d); Debug.Assert(temp != 0);
ऊपर, काउंटर को कॉल करने से मान डिक्रीमेंट होगा। हमने टेम्प वेरिएबल का उपयोग किया है क्योंकि रिलीज़ वर्जन असर्शन उपयोग किए जाने पर कॉल को समाप्त कर देता है। यह कोड में बग पैदा कर सकता है, इसलिए बेहतर तरीका टेम्प वेरिएबल का उपयोग करना है।
अतिरिक्त जानकारी
- Debug.Assert: केवल डिबग बिल्ड में सक्रिय होता है, रिलीज़ बिल्ड में हटा दिया जाता है
- Trace.Assert: डिबग और रिलीज़ दोनों बिल्ड में सक्रिय रहता है
- शर्तें: असर्शन का उपयोग केवल डेवलपमेंट/टेस्टिंग के लिए करें, प्रोडक्शन त्रुटि हैंडलिंग के लिए नहीं
- साइड इफेक्ट्स: असर्शन में ऐसे कोड न डालें जो प्रोग्राम स्टेट को बदलते हों
सही उपयोग: Debug.Assert(x > 0, "x पॉजिटिव होना चाहिए");