Throwing exception vs returning null value with switch statement
        Posted  
        
            by Greg
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Greg
        
        
        
        Published on 2010-04-02T16:55:14Z
        Indexed on 
            2010/04/02
            17:03 UTC
        
        
        Read the original article
        Hit count: 419
        
So I have function that formats a date to coerce to given enum DateType{CURRENT, START, END} what would be the best way to handling return value with cases that use switch statement
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");
    }
}
OR throw excpetion at the end
   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");    
        }
OR return null
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;   
}
What would be the best practice here ? Also all the enum values will be handled in the case statement
© Stack Overflow or respective owner