2017-01-24 16 views
1

Следующее кажется ложным положительным результатом Findbugs.Findbugs false positive: Dereference результата readLine() без nullcheck

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
String s = br.readLine(); 
if(s == null) { 
     return; 
} 

на линии if, я получаю сообщение

разыменовывают в результате ReadLine() без nullcheck

Может кто-то подтвердить это является ложным срабатыванием ? Как это предотвратить (читайте: как написать функционально эквивалентный код, на котором Findbugs не жалуются)?

  • Затмение Версия: Mars.2 Release (4.5.2)
  • FindBugs Характеристика 3.0.1.20150306-5afe4d1

ответ

0
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
String s; 
try { 
    s = br.readLine(); 
    if(s == null) {return ;} 
} 
catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

Попробуйте использовать попробовать поймать блок

+0

Спасибо за ваше предложение , – prithivraj