我的程序中有以下代码,在与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;
}
答案 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;
}