यहाँ अधिकांश उत्तरों से गुजरने के बाद, मैं कुछ विचार जोड़ना चाहूँगा।
XML दस्तावेज़ीकरण टिप्पणियों पर भरोसा करना और दूसरों पर भरोसा करने की उम्मीद करना एक खराब विकल्प है। अधिकांश C # कोड जो मैं आया हूं, XML डॉक्यूमेंटेशन टिप्पणियों के साथ पूरी तरह से और लगातार दस्तावेज़ों का दस्तावेजीकरण नहीं करता है। और फिर वहाँ बड़ा मुद्दा है कि बिना C # में जाँच किए अपवाद है, आप अपने API उपयोगकर्ता के उद्देश्य से उन सभी अपवादों को कैसे दस्तावेज़ित कर सकते हैं, यह जानने के लिए कि उन सभी को व्यक्तिगत रूप से कैसे प्रबंधित किया जाए? याद रखें, आप केवल उन लोगों के बारे में जानते हैं जिन्हें आप अपने कार्यान्वयन में फेंक कीवर्ड के साथ फेंकते हैं। आपके द्वारा अपने पद्धति कार्यान्वयन के अंदर उपयोग किए जा रहे एपीआई भी अपवादों को फेंक सकते हैं, जिनके बारे में आप नहीं जानते हैं क्योंकि वे दस्तावेज नहीं हो सकते हैं और आप उन्हें अपने कार्यान्वयन में नहीं संभाल रहे हैं, इसलिए वे आपके फोन करने वाले के चेहरे को उड़ा देंगे। तरीका। दूसरे शब्दों में,
एंड्रियास हेजेल्सबर्ग के साथ एक साक्षात्कार को यहां के जवाबों में सी # डिजाइन टीम द्वारा जाँच किए गए अपवादों के खिलाफ निर्णय लेने के कारण से जोड़ा गया। मूल प्रश्न का अंतिम उत्तर उस साक्षात्कार में छिपा है:
प्रोग्रामर अंत में हर जगह कोशिश करके अपने कोड की रक्षा करते हैं, इसलिए यदि कोई अपवाद होता है, तो वे सही ढंग से वापस करेंगे, लेकिन वे वास्तव में अपवादों को संभालने में रुचि नहीं रखते हैं।
दूसरे शब्दों में, किसी को भी इस बात में दिलचस्पी नहीं होनी चाहिए कि किसी विशेष एपीआई के लिए किस तरह के अपवाद की उम्मीद की जा सकती है क्योंकि आप हमेशा उन सभी को हर जगह पकड़ने जा रहे हैं। और यदि आप वास्तव में विशेष अपवादों के बारे में परवाह करना चाहते हैं, तो उन्हें कैसे संभालना है आप पर निर्भर है और किसी ने जावा थ्रू कीवर्ड जैसी किसी चीज़ के साथ एक विधि हस्ताक्षर को परिभाषित नहीं किया है, एक एपीआई उपयोगकर्ता पर विशेष अपवाद को संभालने के लिए मजबूर करता है।
-
व्यक्तिगत रूप से, मैं यहाँ फटा हूँ। मैं एंडर्स के साथ सहमत हूं कि नए अपवादों को अलग किए बिना समस्या की जाँच नहीं होती है। XML दस्तावेज़ टिप्पणियों के साथ की तरह, मैं शायद ही कभी C # कोड को अंत में ब्लॉक में लिपटे सब कुछ के साथ देखता हूं। यह मुझे लगता है, हालांकि यह वास्तव में आपका एकमात्र विकल्प है और कुछ ऐसा है जो एक अच्छा अभ्यास है।