使用switch(字符串)时,Sonar看不到默认情况

时间:2011-11-24 15:49:38

标签: switch-statement sonarqube

使用jdk 1.7(所以我可以使用字符串开关和多包)

当通过声纳运行我的代码时,我收到以下消息:

switch (extension) {  

找到缺少默认情况的开关语句

我明白它的含义,但不正确,请看下面的代码: 为什么我会收到此错误。

private void handlefileformats(String location) {
    try {
        String extension = location.substring(location.length() - 4);
        switch (extension) {
        case ".xml":
                      logger.info(LoggerMessages.getLoadxml());
                      break;
        case ".txt":
        case ".csv":
                      logger.info(LoggerMessages.getLoadcsv());
                      break;
        default:
            throw new IncorrectFileException(location, sets);
        }
    } catch (IOException || IncorrectFileExceptione) {
        logger.fatal(LoggerMessages.getException(), e);
        return null;
    }
}

P.S。上面的代码是原始的简化版本,这就是为什么我不使用else if。

提前致谢

1 个答案:

答案 0 :(得分:3)

确实,Sonar 2.12将支持Java7。