मैं अगर एक संपत्ति bool मूल्य के लिए ठीक से स्थापित किया गया है कि यह इस तरह होना चाहिए खोजने एक कोशिश पकड़ में वर्तमान में हूँ ...सी # मुझे किस प्रकार का अपवाद उठाना चाहिए?
public void RunBusinessRule(MyCustomType customType)
{
try
{
if (customType.CustomBoolProperty == true)
{
DoSomething();
}
else
{
throw new Exception("This is obviously false or possibly null lets throw up an error.");
}
}
catch(Exception)
{
throw;
}
}
अब मेरे लिए यह त्रुटि फेंक के साथ सौदा है कि मैं कर रहा हूँ माइक्रोसॉफ्ट के स्रोत विश्लेषण का उपयोग करके और यह मुझे एक त्रुटि देता है "CA2201: Microsoft.Usage: Object.RunBusinessRule (MyCustomType) प्रकार 'अपवाद' का अपवाद बनाता है, एक अपवाद प्रकार जो पर्याप्त रूप से विशिष्ट नहीं है और इसे कभी भी उपयोगकर्ता कोड द्वारा उठाया नहीं जाना चाहिए। यदि यह अपवाद उदाहरण फेंक दिया जा सकता है, तो एक अलग अपवाद प्रकार का उपयोग करें।
Soooo मुझे क्या अपवाद करना चाहिए जो माइक्रोसॉफ्ट के लिए पर्याप्त विशिष्ट होगा .., मेरे अपने आवेदन के तर्क प्रबंधन के बारे में एक त्रुटि फेंकने की स्थिति के लिए और जब मैं "फेंकना" चाहता हूं।
:
मैं एक
bool
प्रकार के रूप में अपने विधि का परिणाम वापस जाने के लिए तो आप विधि बुला के समय में उपयोगकर्ता के लिए एक त्रुटि संदेश दिखाने के लिए उचित तरीके से तय कर सकते हैं अपने विधि को संशोधित करने के लिए सुझाव 'InvalidOperationException' है *" अपवाद जो फेंक दिया जाता है जब किसी ऑब्जेक्ट की वर्तमान स्थिति के लिए विधि कॉल अमान्य है। "*, यानी कक्षा फ़ील्ड, पैरामीटर नहीं। – brianary