साल पहले, हमने एक नियंत्रण प्रणाली ढांचा लिखा था और एजेंट ऑब्जेक्ट्स रनटाइम अपवाद पकड़े थे, अगर वे कर सकते थे और जारी रखे तो उन्हें लॉग इन किया।
हाँ हम रनटाइम हमारे ढांचे कोड में OutOfMemory सहित अपवाद पकड़ा (और एक जीसी मजबूर कर दिया, और यह आश्चर्य की बात है कि कैसे अच्छी तरह से भी काफी टपकाया कोड चल रखा है।) हम कोड है कि बहुत गणितीय वास्तविक शामिल बातें कर रहा था था विश्व; और समय-समय पर छोटी-बड़ी गोलियों की त्रुटियों के कारण नोट-ए-नंबर प्राप्त होगा और इसके साथ भी ठीक हो गया है।
तो फ्रेमवर्क/"बाहर निकलना नहीं चाहिए" कोड में मुझे लगता है कि यह उचित हो सकता है। और जब यह काम करता है तो यह बहुत अच्छा है।
कोड बहुत ठोस था, लेकिन यह हार्डवेयर चला गया, और हार्डवेयर कभी-कभी खराब जवाब देता है।
इसे एक समय में महीनों के लिए मानव हस्तक्षेप के बिना चलाने के लिए डिज़ाइन किया गया था। यह हमारे परीक्षणों में बेहद अच्छी तरह से काम किया।
त्रुटि पुनर्प्राप्ति कोड के हिस्से के रूप में, यह यूपीएस की एन मिनट में बंद होने और एम मिनट में चालू करने की क्षमता का उपयोग करके पूरी इमारत को रीबूट करने का सहारा ले सकता है।
कभी कभी हार्डवेयर दोष साइकिल सत्ता में :)
तो मुझे याद है, एक असफल शक्ति चक्र के बाद अंतिम उपाय हुए कहा कि यह एक ईमेल भेज यह मालिकों है के लिए गया था, की जरूरत है "मैं और अपने आप को ठीक करने की कोशिश की मैं कर सकते हैं ' टी; समस्या उपप्रणाली XYZ में है ", और हमें एक समर्थन कॉल बढ़ाने के लिए एक लिंक शामिल किया गया।
दुर्भाग्य से इस परियोजना से पहले ही बन सकता है डिब्बा बंद हो गया स्वयं जागरूक:)>
स्रोत
2010-03-01 05:08:46
पढ़ें या लॉग और रीथ्रो को पकड़ें। –
सही समझ में आता है, मूल बातें वापस जाना चाहिए था। पत्थर में कई बार पैटर्न इतने सेट हो जाते हैं कि डेवलपर्स उन्हें डोगमा के रूप में ले जाते हैं। मुझे हमेशा बताया गया है कि रनटाइम अपवाद एक परिणाम हैं) प्रोग्रामिंग त्रुटियां बी) आपदाजनक असफलताओं से कोई भी ठीक नहीं हो सकता है। यदि (ए) आप यह सुनिश्चित करना चाहते हैं कि उत्पाद लाइव होने से पहले सबकुछ ठीक हो जाए और "कभी नहीं" होना चाहिए। मामले के लिए (बी) उपयोगकर्ता को एक और अधिक स्वच्छता संदेश देखना चाहिए और पकड़ने और प्रक्रिया करने के लिए सही अर्थ है। अब मुझे आश्चर्य है कि हमें क्यों RuntimeExceptions की आवश्यकता है, शायद किसी अन्य चर्चा के लिए एक विषय ;-) – VDev
हे, मुझे लगता है कि यह * सभी * अपवादों को रनटाइम अपवाद बनाने का एक कारण है। ऐसे कई प्रोग्रामर हैं जो चेक अपवादों को पकड़ और अनदेखा करेंगे, बस उन्हें दूर जाने के लिए। – kdgregory