Этот вызов метода передает нулевое значение для ненулевого параметра метода.Либо параметр аннотируется как параметр, который всегда должен быть ненулевым - PullRequest
0 голосов
/ 13 декабря 2018

Ошибка SonarQube для метода ниже, любые предложения экспертов по решению проблемы. Этот вызов метода передает нулевое значение для ненулевого параметра метода.Либо параметр аннотируется как параметр, который всегда должен быть ненулевым, либо анализ показал, что на него всегда будет разыменовываться.

    public ByteArrayResource readFile() throws IOException {
        byte[] content = null;

        try (S3Object object = amazonS3.getObject(new GetObjectRequest(bucketName, key))) {
            content = IOUtils.toByteArray(object.getObjectContent());
            return new ByteArrayResource(content);

        } catch (IOException e) {
            LOG.error("IOException caught while reading file", e);
        } 
        return new ByteArrayResource(content);
    }

1 Ответ

0 голосов
/ 13 декабря 2018

Проблема с оператором return new ByteArrayResource(content); вне блока try/catch.Поскольку ваш метод выбрасывает IOException, вы не должны его ловить.Ниже следует решить это:

public ByteArrayResource readFile() throws IOException {
    try (S3Object object = amazonS3.getObject(new GetObjectRequest(bucketName, key))) {
        byte[] content = IOUtils.toByteArray(object.getObjectContent());
        return new ByteArrayResource(content);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...