हम एक प्रणाली शुरू कर रहे हैं, और हम कभी-कभी NullReferenceException
संदेश के साथ प्रसिद्ध अपवाद प्राप्त करते हैं Object reference not set to an instance of an object
।
हालांकि, एक ऐसी विधि में जहां हमारे पास लगभग 20 ऑब्जेक्ट हैं, जिसमें एक लॉग होता है जो कहता है कि एक वस्तु अशक्त है, वास्तव में इसका कोई फायदा नहीं है। यह आपको बताने जैसा है, जब आप एक सेमिनार के सुरक्षा एजेंट होते हैं, कि 100 उपस्थित लोगों में से एक आतंकवादी है। यह वास्तव में आप के लिए कोई फायदा नहीं है। आपको अधिक जानकारी प्राप्त करनी चाहिए, यदि आप यह पता लगाना चाहते हैं कि धमकी देने वाला आदमी कौन सा है।
इसी तरह, यदि हम बग को हटाना चाहते हैं, तो हमें यह जानना होगा कि कौन सी वस्तु अशक्त है।
अब, कुछ ने कई महीनों तक मेरे मन को मोह लिया है, और वह है:
.NET हमें नाम क्यों नहीं देता, या कम से कम वस्तु संदर्भ का प्रकार, जो शून्य है? । क्या यह प्रतिबिंब या किसी अन्य स्रोत से प्रकार को नहीं समझ सकता है?
साथ ही, यह समझने के लिए कि कौन सी वस्तु अशक्त है, सबसे अच्छा अभ्यास क्या है? क्या हमें हमेशा इन संदर्भों में वस्तुओं की अशक्तता को मैन्युअल रूप से जांचना चाहिए और परिणाम को लॉग इन करना चाहिए? क्या कोई बेहतर तरीका है?
अद्यतन:
अपवाद The system cannot find the file specified
में एक ही प्रकृति है। जब तक आप प्रक्रिया और डीबग से जुड़ नहीं जाते, तब तक आप कौन सी फ़ाइल नहीं ढूंढ सकते। मुझे लगता है कि इस प्रकार के अपवाद अधिक बुद्धिमान हो सकते हैं। क्या यह बेहतर नहीं होगा यदि .NET हमें c:\temp.txt doesn't exist.
उस सामान्य संदेश के बजाय बता सके ? एक डेवलपर के रूप में, मैं हाँ वोट देता हूं।
new
क्लास के उदाहरण बनाने के लिए "सहायक" संकेत शामिल हैं । इस तरह के संकेत हर वास्तव में कब मदद करते हैं?