当前位置: 首页 > 知识库问答 >
问题:

声纳抱怨记录和重新触发异常

袁飞鹏
2023-03-14

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

司马庆
2023-03-14

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

其次,我最近在声纳方面也遇到了同样的问题。似乎您需要将整个异常作为参数传递给记录器,而不是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;    
}
 类似资料:
  • 问题内容: 我的程序中包含以下代码,并将其与Maven集成后,我正在运行SonarQube 5以对其进行代码质量检查。 但是,Sonar抱怨我应该 记录或重新抛出此异常 。 我在这里想念什么?我还没有记录异常吗? 问题答案: 您应该这样做: 声纳不应该再打扰您了

  • 在将SonarQube与Maven集成后,运行SonarQube进行代码质量检查时,我有以下代码。 然而,Sonar抱怨说,我应该记录或者重播这个异常。 我错过了什么?谁能帮我一下吗。

  • 我的程序中有下面的代码,在与Maven集成后,我正在运行SonarQube 5进行代码质量检查。 然而,Sonar抱怨说,我应该记录或者重播这个异常。 我错过了什么?我还没有记录异常吗?

  • 我有以下一段代码在我的程序,我正在运行SonarQube 5的代码质量检查后,它与Maven集成。 然而,Sonar要求删除这个对局部变量“session”的无用赋值。

  • 我有两张表“产品”和“库存”。表将包含所有产品。在库存表中,我每次都将产品的库存保存为一个新的条目。 我有两种类型的产品。“1”类型的产品将以stock作为编号,“0”类型的产品将以stock作为重量。因此,在products表中,我创建了两列“stock_weight(保持在库存表中输入的总重量)”和“pieces(保持在库存表中输入的总数量)”。 为此,我在stock表上创建了一个触发器,每当

  • 我有以下一段代码在我的程序,我正在运行SonarQube 5的代码质量检查后,它与Maven集成。 然而,声纳要求将封闭方法设置为“静态”或移除这一组。方法是setApplicationContext。 如何删除此错误?为什么会出现这种错误?