相关疑难解决方法(0)

Sonar抱怨记录和重新抛出异常

我在我的程序中有以下代码片段,并且在与Maven集成之后,我正在运行SonarQube 5以进行代码质量检查.

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

我在这里错过了什么?我还没有记录异常吗?

 private boolean authenticate(User user) {
        boolean validUser = false;
        int validUserCount = 0;
        try {
            DataSource dataSource = (DataSource) getServletContext().getAttribute("dataSource");
            validUserCount = new MasterDao(dataSource).getValidUserCount(user);
        } catch (SQLException sqle) {
            LOG.error("Exception while validating user credentials for user with username: " + user.getUsername() + " and pwd:" + user.getPwd());
            LOG.error(sqle.getMessage());
        }
        if (validUserCount == 1) {
            validUser = true;
        }
        return validUser;
    }
Run Code Online (Sandbox Code Playgroud)

java exception-handling maven sonarqube sonarqube-5.0

16
推荐指数
3
解决办法
4万
查看次数

记录此异常并处理它,或者使用一些上下文信息重新抛出它

有人可以帮我解释为什么 SonarLint 会显示这个:

要么记录此异常并处理它,要么使用一些上下文信息重新抛出它。

对于下面的代码。

public static <T> T getObjectFromJson(final Object jsonString, final Class<T> valueType) {
        T object = null;
        if (jsonString != null) {
            try {
                object = MAPPER.readValue(jsonString.toString(), valueType);
            } catch (IOException io) {
                log.error(ERROR_LOG_STR + " in method getObjectFromJson(). Exception Message={}, Exception Stack ={}",
                        io.getMessage(), io);
                throw new ServiceException(ErrorMessages.JSON_SERIALIZATION_ERROR, io.getCause());
            }
        }
        return object;
    }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

java spring-boot sonarlint

3
推荐指数
1
解决办法
5427
查看次数