मैं एक कस्टम संग्रह कार्यान्वयन को कार्यान्वित कर रहा हूं जो या तो पढ़ा जा सकता है या पढ़ा जा सकता है; जो है, सब तरीकों कि संग्रह बदलने के एक समारोह है कि का नैतिक बराबर फोन:अवैधऑपरेशन अपवाद या NotSupportedException का उपयोग कब करें?
private void ThrowIfReadOnly() {
if (this.isReadOnly)
throw new SomeException("Cannot modify a readonly collection.");
}
मुझे यकीन है कि जो NotSupportedException
या InvalidOperationException
की मैं उस मामले में उपयोग करना चाहिए नहीं कर रहा हूँ।
एक निपटाए वस्तु पर एक विधि कॉलिंग 'ObjectDisposedException' बजाय' InvalidOperationException' के फेंक देना चाहिए, भले ही यह गलत ऑपरेशन है। –
@ मार्टिन: ओह, अच्छा एक! मुझे 'ऑब्जेक्ट डिस्प्ले अपवाद' के बारे में बिल्कुल पता नहीं था।(और 'ऑब्जेक्टडिस्पेडएक्सप्शन' के रूप में 'अमान्यऑपरेशन एक्सेप्शन' का एक उप प्रकार है, यह 'अमान्य ऑपरेशन अपवाद' का एक विशेष मामला होने के साथ अच्छी तरह से संबंध रखता है) –
कुछ इस बारे में क्या है: बूल कुछ विधि (param) { अगर (कुछ राज्य ए में पैरा) कुछ विशिष्ट चेक लौटें; अगर (कुछ राज्य बी में पैरा) एक और विशिष्ट जांच वापस करें; नया नोट्स समर्थित अपवाद(); } यदि किसी ने इस विधि को कॉल करते समय पहुंचा जा सकता है तो किसी अन्य संभावित स्थिति को जोड़ा जा सकता है, तो डेवलपर को कथन के बाद तीसरा जोड़ना चाहिए। इसलिए मेरे पास विधि की अंतिम पंक्ति तक पहुंचने के लिए एक समर्थित अपवाद नहीं है। तुम क्या सोचते हो? – Skychan