2010-10-19 18 views
5

एक्लिप्स में प्रोग्रामिंग जावा, मुझे अपवादों से निपटने के लिए उपयोग किया जाता है। VisualStudio के साथ सी # में ऐसा लगता है कि मैं एक विधि पर "अपवाद फेंकता" नहीं कह सकता ... बहुत सारे कोडिंग के बाद मुझे बहुत सारे अपवाद मिले, और उन्हें पकड़ना पड़ा क्योंकि मैंने उन्हें परीक्षण के दौरान पाया था। मैं उन्हें संभालने के लिए मजबूर होना चाहता हूं, ताकि विजुअल स्टूडियो कह सके कि यहां आपको पकड़ने की ज़रूरत है या मैं आपको जाने नहीं दूँगा :) क्या यह संभव है?अपवाद हैंडलिंग का कोई बल नहीं है?

धन्यवाद

उत्तर

8

नंबर सी # अपवाद को संभालने के लिए आप के लिए मजबूर नहीं है। यह भाषा डिजाइनरों के हिस्से पर एक कल्पित डिजाइन निर्णय था।

क्यों, The Trouble With Checked Exceptions देखते हैं, जहां एंडर्स हेल्स्बर्ग की चर्चा क्यों वे सी # का हिस्सा नहीं हैं पर जानकारी के लिए।

+0

ओह ठीक है, बहुत बुरा :) उत्तर के लिए धन्यवाद! – Johannes

+0

कौन सा है, हालांकि कथित तौर पर त्रुटि प्रवण, एक प्रोग्रामर राज्य को स्वतंत्रता देता है "मैं जानता हूँ कि मैं क्या कर रहा हूँ" –

+0

@Johannes: इससे पहले कि आप के रूप में "बुरा" इस के बारे में सोच है, मैं उस साक्षात्कार पढ़ा था। मुझे लगता था कि यह सी # में एक दोष था, लेकिन मैंने इसे पूरी तरह से "समर्थक" के रूप में देखने के लिए परिवर्तित कर दिया है ... –

0

नहीं, यह संभव नहीं है। अपवाद है जो विधि द्वारा फेंका होने की उम्मीद है वहाँ प्रलेखित हैं:

आप क्या कर सकते हैं नेट पुस्तकालय विधि आप MSDN में क्रियान्वित कर रहे हैं देखने के लिए है। इसके बाद, आप तय कर सकते हैं कि आप कौन से पकड़ना चाहते हैं और जिन्हें आप यहां संभालना नहीं चाहते हैं।

+0

दस्तावेज़ीकरण में उन्हें देखने के लिए कोई बेहतर तरीका नहीं है? अगर आप मुझसे पूछें तो VisualStudio में ऐसा करने की कुछ संभावना होनी चाहिए :) कुछ प्रकार के "राइट-क्लिक -> अपवाद जिन्हें स्पष्ट किया जा सकता है" :) – Johannes

+0

@ जोहान्स: सच है, यह अच्छा होगा, लेकिन संदर्भ के बाद से- विजुअल स्टूडियो में संवेदनशील मदद काफी अच्छी है (विधि नाम पर कर्सर होने पर केवल F1 दबाएं), दस्तावेज़ीकरण को बहुत तेज़ी से चला जाता है। – Heinzi

0

आप various tools का उपयोग अपवाद को खोजने के लिए कर सकते हैं। .NET 4 के लिए यह भी कोड कोड अनुबंध कहा जाता है जो आपको पूर्व/पोस्ट शर्तों को लागू करने में मदद करता है और संभवतः कुछ अपवादों से बचने में मदद करता है।

2

नहीं वहाँ कोई सी # में अपवाद जाँच कर रहे हैं। और कारणों बहुत सरल कर रहे हैं:

1) वे वहाँ प्राप्त करने के लिए नहीं उद्देश्य का इरादा नहीं है, क्योंकि हर या तो उन्हें स्पष्ट रूप से निपटने के लिए या उन्हें श्रृंखला को पारित करने की सिफारिश की प्रथा इस प्रकार करते हैं। इसके बजाय क्या होता है कि वे देव स्टैक के बीच में डेवलपर्स द्वारा "खाया जाता है"।
2) के बाद से वे स्वाभाविक रूप से निष्पादन योग्य कोड प्रलेखन का हिस्सा बजाय रहे हैं, वे प्रलेखन में जाना चाहिए और कोड सतह

3) सी #/dev उपकरण में फ्रेमवर्क प्रलेखन इस तरह के लिए आदर्श जगह हैं अव्यवस्थित नहीं प्रलेखन। दृश्य स्टूडियो ऑब्जेक्ट ब्राउज़र के साथ खेलें, विधि पर ब्राउज़ करें और आप उन्हें निचले फलक में उल्लेखित देखेंगे।

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