के साथ अपवाद को वापस करने के लिए अपवाद फेंकना तो मेरे पास ऐसा कार्य है जो दिए गए एनम डेटटाइप {वर्तमान, स्टार्ट, ईएनडी} पर कॉल करने के लिए एक तिथि स्वरूपित करता है स्विच स्विच स्टेटमेंट का उपयोग करने वाले मामलों के साथ रिटर्न वैल्यू को संभालने का सबसे अच्छा तरीका क्या होगास्विच स्टेटमेंट
public static String format(Date date, DateType datetype) {
..validation checks
switch(datetype){
case CURRENT:{
return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
}
...
default:throw new ("Something strange happend");
}
}
या अंत
public static String format(Date date, DateType datetype) {
..validation checks
switch(datetype){
case CURRENT:{
return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
}
...
}
//It will never reach here, just to make compiler happy
throw new IllegalArgumentException("Something strange happend");
}
पर excpetion फेंक या वापसी अशक्त
public static String format(Date date, DateType datetype) {
..validation checks
switch(datetype){
case CURRENT:{
return getFormattedDate(date, "yyyy-MM-dd hh:mm:ss");
}
...
}
return null;
}
यहां सबसे अच्छा अभ्यास क्या होगा? इसके अलावा सभी enum मानों को केस स्टेटमेंट
यदि आपके पास ऐसी स्थिति है जो कभी नहीं होनी चाहिए तो मैं एक AssertionError का उपयोग करूंगा। –
धन्यवाद AssertionError स्विच बयान के बाहर अपवाद फेंक एक संकलन चेतावनी अगर आप स्विच में मामलों के रूप में enum मूल्यों के सभी शामिल नहीं किया है की अनुमति देगा IllegalArgumentException – Greg