मैंने पढ़ा है कि हमें केवल उन अपवादों को पकड़ना चाहिए जिन्हें संभाला जा सकता है, जो आधार अपवाद वर्ग (इस मामले में C #) को एक बुरा विचार (अन्य कारणों के शीर्ष पर) को पकड़ने में सक्षम बनाता है। मैं वर्तमान में एक ऐसी परियोजना का हिस्सा हूं जिसमें मुझे अभी तक कुछ भी देखना बाकी है लेकिन आधार अपवाद को पकड़ा जा रहा है। मैंने उल्लेख किया कि ऐसा करने के लिए इसे बुरा अभ्यास माना जाता है, लेकिन प्रतिक्रिया थी "इस सेवा को 24/7 चलाने की आवश्यकता है, इसलिए यह तरीका है।"
चूँकि मेरे पास 24/7 चलाने की आवश्यकता वाले कार्यक्रम में अपवादों को ठीक से कैसे प्रबंधित करने के लिए एक अच्छी प्रतिक्रिया नहीं थी, इसलिए अब मैं यहां हूं। मैं "महत्वपूर्ण" कार्यक्रमों / सेवाओं में अपवाद से निपटने के तरीके पर कोई भी जानकारी / सुझाव खोजने में कामयाब नहीं हुआ हूं, जो घड़ी के चारों ओर चलने की आवश्यकता है (और इस मामले में मेरा मानना है कि यह ठीक हो सकता है यदि सेवा एक मिनट के लिए नीचे है। या दो, तो भी महत्वपूर्ण नहीं है)। मैं समझता हूं कि यह कार्यक्रम की सटीक प्रकृति पर निर्भर करता है। ऑनलाइन गेम के लिए लॉग स्कैनर की तुलना में एक प्रोग्राम की आवश्यकताएं जो जीवन के लिए खतरा पैदा कर सकती हैं, काफी भिन्न हैं।
दो उदाहरण:
1: ब्रिटिश रेलवे के ग्राहकों के लिए एक टाइप-फॉरवर्ड सेवा, जिसका उपयोग वे रेलवे स्टेशनों के लिए ऑनलाइन खोज करते समय करते थे।
2: एक कार्यक्रम जो पटरियों, ट्रेनों आदि में विभिन्न सेंसर से प्रदान की गई वास्तविक समय की जानकारी के आधार पर उपरोक्त रेलवे के लिए रेलवे स्विच को स्वचालित रूप से नियंत्रित करता है।
पहला कार्यक्रम शायद एक बड़े मुद्दे का कारण नहीं होगा अगर यह एक या दो मिनट के लिए नीचे चला गया, तो बाद वाला मानव हताहत हो सकता है। प्रत्येक के साथ कैसे व्यवहार करें? इस बात की ओर इशारा करते हैं कि मैं इस मुद्दे पर अधिक जानकारी और विचार कैसे पा सकता हूं?
catch Exception
। इसका मतलब यह नहीं है कि आपका कार्यक्रम काम करता है , इसका मतलब है कि विफलताओं को एप्लिकेशन स्टेट को दूषित होने दिया जाता है जबकि यह निष्पादित करना जारी रखता है, जो कि एक बहुत अधिक खतरनाक जगह है। दुर्घटनाग्रस्त कार्यक्रम विनाशकारी हो सकता है, लेकिन एक ऐसा कार्यक्रम जो एक अमान्य स्थिति में है लेकिन फिर भी क्रिया करना सक्रिय रूप से विनाशकारी हो सकता है ।