JTest - переменная может быть нулевой в блоке try catch
У меня есть код, как показано ниже:
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 ответ
Как я могу избавиться от этого предупреждения от JTest, изменив код?
Вы сами сказали: нужно проверить a == null
, JTest не заботится о том, что вы "уже охватили исключение NullPointerException" в текущей конфигурации. Я не знаю, можно ли настроить его на распознавание, но, вероятно, вам также не разрешено изменять его конфигурацию, учитывая
что правила JTest настроены для проверки кода и целей аудита, просто не можем его игнорировать:)
Если это приемлемо для аудита, вы можете также подавить сообщение напрямую и указать причину.
Кроме того, я надеюсь
catch (Exception e) {
logger.debug(e.getMessage());
}
это просто упрощение и не пройдет ни пересмотра кода, ни аудита!