मान लें कि हमारे पास एक ऐसी विधि है जो गणना के मूल्य को स्वीकार करती है। इस विधि के बाद यह मानता है कि मान वैध है, यह संभावित मानों पर switch
es है। तो सवाल यह है कि के बाद अप्रत्याशित मानों को संभालने का पसंदीदा तरीका क्या है? मान सीमा को सत्यापित किया गया है?अप्रत्याशित enum मूल्यों को संभालने के लिए पसंदीदा तरीका क्या है?
enum Mood { Happy, Sad }
public void PrintMood(Mood mood)
{
if (!Enum.IsDefined(typeof(Mood), mood))
{
throw new ArgumentOutOfRangeException("mood");
}
switch (mood)
{
case Happy: Console.WriteLine("I am happy"); break;
case Sad: Console.WriteLine("I am sad"); break;
default: // what should we do here?
}
default
मामले से निपटने का पसंदीदा तरीका क्या है:
?
// can never happen
Debug.Fail()
(याDebug.Assert(false)
)throw new NotImplementedException()
की तरह एक टिप्पणी (या किसी अन्य अपवाद)- कुछ अन्य तरह से मैं
मैं एक उत्तर पोस्ट कर रहा हूं मेरी राय के साथ। यदि आपके पास कोई अलग राय है, या एक अलग मामला जो इसका समर्थन करता है, तो कृपया अपना ज्ञान साझा करें। प्रश्न का उद्देश्य इस स्थिति का सामना करने वाले अन्य लोगों (और मुझे) की सहायता के लिए विषय के बारे में विचार इकट्ठा करना है। –
इसे जावा के रूप में क्यों चिह्नित किया गया था? – OscarRyz
@ ऑस्कर: यह एक भाषा-स्वतंत्र प्रश्न IMHO होना चाहिए। लोग यहां दोनों भाषाओं के लिए जवाब पा सकते हैं। –