SONAR抱怨记录并重新抛出异常

时间:2016-09-09 12:19:17

标签: java spring performance exception sonarqube

我的程序中有以下代码,在与Maven集成后,我正在运行SonarQube 5进行代码质量检查。

然而,Sonar抱怨我应该记录或重新抛出此异常。

我在这里缺少什么?

public static Date convertStringtoDate(String stringDate){
    stringDate = StringUtils.trimToNull(stringDate);
    SimpleDateFormat dfm = new SimpleDateFormat("dd-MMM-yyyy");
        Date date = null;
        if(stringDate!=null){
            try {
                date = dfm.parse(stringDate);
            } catch (Exception e) {
                logger.info("Cannot convert String to Date: ",convertStringtoDate(e.getMessage()));
            }
        }
        return date;    
    }

1 个答案:

答案 0 :(得分:3)

首先,这种行为是否正确?您尝试在异常消息上调用convertStringtoDate似乎有点奇怪。

其次,我最近遇到了与Sonar相同的问题。好像你需要将整个异常作为参数传递给记录器,而不是e.getMessage()让Sonar知道你正在记录异常。

请改为尝试:

public static Date convertStringtoDate(String stringDate){
    stringDate = StringUtils.trimToNull(stringDate);
    SimpleDateFormat dfm = new SimpleDateFormat("dd-MMM-yyyy");
    Date date = null;
    if(stringDate!=null){
        try {
            date = dfm.parse(stringDate);
        } catch (Exception e) {
            logger.info("Cannot convert String to Date: ", e);
        }
    }
    return date;    
}