JTest — переменная может иметь значение null в блоке try catch

#java #eclipse-plugin #nullpointerexception #jtest

#java #eclipse-плагин #исключение nullpointerexception #jtest

Вопрос:

У меня есть код, приведенный ниже:

 object a = getObjectFromBlahBlah(); //'a' may possibly be null

try{
    a.beginTransaction();
    .
    .
    .

} catch (Exception e) {
    logger.debug(e.getMessage());
}
  

После того, как я запущу JTest, он предупредит меня 'a' may possibly be null . Я не хочу выполнять еще одну проверку подобным образом, if (a == null) return; поскольку я уже описал NullPointerException в блоке try / catch. Кто-нибудь может объяснить, что с этим происходит? Как я могу избавиться от этого предупреждения от JTest, изменив код?

Комментарии:

1. Объяснить что? Почему ваша IDE предупреждает вас?

2. @AlexandreSantos да, чтобы я мог знать, что мне с этим делать.

3. Так что просто не волнует это.

4. @suninsky что правила JTest настроены для проверки кода и аудита, нельзя просто игнорировать это 🙂

Ответ №1:

Как я могу избавиться от этого предупреждения от JTest, изменив код?

Вы сами сказали: вам нужно проверить a == null . JTest не волнует, что вы «уже покрываете исключение NullPointerException» в текущей конфигурации. Я не знаю, можно ли настроить его для распознавания этого, но, по-видимому, вам также не разрешено изменять его конфигурацию, учитывая

эти правила JTest настроены для проверки кода и аудита, нельзя просто игнорировать это 🙂

Если это приемлемо для аудита, вы также можете напрямую подавить сообщение и указать причину.

Кроме того, я надеюсь

 catch (Exception e) {
    logger.debug(e.getMessage());
}
  

это просто упрощение и не будет проходить никакой проверки кода или аудита!