एक बात है जिसका उल्लेख यहां नहीं किया गया है।
एक और-कथन के साथ, हर बार कोड चलाता है, कम से कम 1 शर्त को निष्पादित मूल्यांकन की गारंटी दी जाती है। मुझे यकीन है कि हम सभी जानते हैं कि एक if-else-elseif काम करता है, लेकिन स्पष्ट होने के लिए ... यदि कथन का हिस्सा हमेशा मूल्यांकन किया जाएगा, यदि यह गलत है तो निम्नलिखित अन्य- यदि का मूल्यांकन किया गया है, और तब तक केवल अन्य का मूल्यांकन करने के लिए छोड़ दिया गया है।
तो यदि कोई अन्य कथन का उपयोग करके आपके प्रदर्शन पर असर पड़ेगा। महत्वपूर्ण नहीं है (ज्यादातर मामलों में), लेकिन यह मूल्यांकन करने के लिए CPU समय लेता है।
प्रयास-पकड़ विवरण, और यदि मैं गलत हूं, तो मुझे सही करें, जब तक आवश्यक हो, रनटाइम पर विचार न करें (यानी एक अपवाद फेंक दिया जाता है)। इसलिए बस अपना कोड एक कोशिश-पकड़ में लपेटने से प्रदर्शन प्रभावित नहीं होगा जब तक कि वास्तव में अपवाद नहीं पकड़ा जाता है।
इसके अलावा, यह पकड़ नहीं है जो प्रदर्शन हिट का कारण बनता है, लेकिन फेंक देता है।
और एक प्रमुख बिंदु बनाने के लिए, सशर्त तर्क के लिए प्रयास करने के लिए कभी भी प्रयास नहीं किया जाना चाहिए। उन्हें केवल उन चीज़ों के लिए उपयोग किया जाना चाहिए जिनके लिए उन्हें डिज़ाइन किया गया है: अपवाद हैंडलिंग!
यदि आप जानते हैं कि उनके साथ क्या करना है, तो अपवाद अपवाद आवश्यक है। यदि आपके पास अपवाद को सही तरीके से संभालने का कोई तरीका नहीं है तो आपको इसे जाने देना चाहिए, क्योंकि कुछ कोड आगे बढ़ने के लिए श्रृंखला को संभालने का बेहतर तरीका हो सकता है।
उपयोगकर्ता द्वारा देखा जाने से पहले अपवादों को पकड़ने के लिए आपके आवेदन के पूर्ण शीर्ष स्तर पर अपवाद हैंडर होने का आमतौर पर एक अच्छा विचार है। एएसपी.नेट में आप इसे global.asax के Application_Error ईवेंट में कर सकते हैं। अन्य भाषाओं/वातावरण में आप अपने मुख्य पाश में ऐसा करेंगे, जो कुछ भी हो सकता है।
लेकिन ध्यान दें, कुछ अपवाद हैं जो हमेशा बेचे जाने वाले सर्वश्रेष्ठ होते हैं। कभी-कभी जब कोई अपवाद होता है तो यह संकेतक होता है कि आपके आवेदन की स्थिति को गंभीर रूप से समझौता किया गया है और भरोसा नहीं किया जा सकता है। मारने और पुनरारंभ करने के लिए केवल एकमात्र सुरक्षित चीज है।
"त्रुटि हैंडलिंग" और "अपवाद हैंडलिंग" एक ही चीज़ नहीं हैं। – ThunderGr