8

द्वारा फेंका जा सकता है मुझे पता है कि जावा सभी अपवादों कि विधि द्वारा फेंक दिया जाएगा सूचीबद्ध करने के लिए प्रोग्रामर लागू करने, और इस प्रकार कोड के उपयोगकर्ता के लिए सभी संभव फेंका अपवाद लिस्टिंग के लिए एक आसान तरीका बनाने।सूची सभी अपवाद है कि एक विधि

दूसरी ओर .NET की कोई ऐसी सुविधा नहीं है, और हम सभी को छोड़कर एपीआई दस्तावेज या एक्सएमएल दस्तावेज है जहां अपवाद कभी-कभी सूचीबद्ध हैं।

वहाँ वी.एस. के लिए किसी भी एडऑन पता चलता है कि जो अपवाद किसी भी कॉल फेंक सकती है? प्रतिबिंब की शक्ति को देखते हुए, कॉल को देखना संभव नहीं है, और कॉल के माध्यम से संभावित रनों की सभी शाखाओं को देखना संभव नहीं है और किसी भी .NET अपवादों को फेंकने की जांच करनी चाहिए?

+0

और, यदि आपको लगता है कि यह स्रोत कोड विश्लेषण द्वारा 3 अलग अपवाद फेंकता है, तो आप प्रत्येक के लिए कोड में कैच क्लॉज कैसे लगाएंगे? – shahkalpesh

+1

क्या अधिकांश जावा इंजीनियरों अब भी स्वीकार नहीं करते हैं कि चेक अपवाद एक भयानक विचार थे? –

+2

मुझे लगता है कि आप हॉल्टिंग समस्या को हल करने के लिए हर उदाहरण है, जहां एक DivideByZeroException उठाया जा सकता है (के रूप में उन जहां वर्ग अपरिवर्तनशीलताओं होने वाली से रोकने के खिलाफ) –

उत्तर

8

मैं के बारे में पता ही उपकरण (वाणिज्यिक) Exception Hunter from red-gate software है।

हालांकि, यह वास्तव में यथार्थवादी नहीं है जैसा कि आप पहले सोच सकते हैं। इस्तेमाल किए गए अतिरिक्त असेंबली के संस्करणों के आधार पर, बिल्ड किए गए अपवादों का निर्माण समय के बाद अलग-अलग हो सकता है यदि कोई नया संस्करण उपयोग किया जाता है जो बिल्ड समय पर अपेक्षित अपेक्षाओं से अन्य अपवादों को फेंक देता है।

जावा में, आप "विशेष" RuntimeException जो विधि हस्ताक्षर (सभी अपवादों को यह से उतरते सहित) में घोषित करने की जरूरत नहीं है की है। भाषा डिजाइनरों ने सी # में चेक अपवादों को लागू नहीं करने के वैध कारण हैं (चाहे वे फायदे से अधिक हों या नहीं, बहस योग्य हैं)। कुछ जावा देव सिर्फ रनटाइम अपवादों में अपवाद लपेटते हैं, या वे "कारण" अपवादों का उपयोग करना भूल जाते हैं जिसके परिणामस्वरूप सूचना का नुकसान होता है।

चेक अपवादों के बारे में एक अच्छा interview with Anders Hejlsberg है और कुछ कारणों से सी # के पास क्यों नहीं है - लिंक के लिए एड्रियनबैंक के लिए धन्यवाद।

+2

एंडर्स हेजल्सबर्ग के साथ चेक अपवादों के बारे में एक अच्छा साक्षात्कार है और कुछ तर्क यह है कि सी # में उनके पास क्यों नहीं है: http://www.artima.com/intv/handcuffs.html – adrianbanks

+0

@adrianbank, मुझे पता है, लेकिन मेरे पास अभी तक लिंक नहीं था। इसे पोस्ट करने के लिए धन्यवाद! – Lucero

+0

ग्रेट आलेख, उन लोगों के लिए चेक किए गए निष्पादन पर एक अच्छा परिप्रेक्ष्य देता है जिन्होंने वास्तव में उन्हें किसी भी व्यावहारिक उपयोग में कभी नहीं देखा है। –

2

केवल एक चीज मुझे लगता है कि सामने आने वाले करता है इस Exception Hunter है, लेकिन यह है कि आप खरीद करने के लिए होगा एक वाणिज्यिक उपकरण है।

संबंधित मुद्दे