Findbugs错误 - 错误:br为null保证在异常路径上取消引用

 形同陌路2502906543 发布于 2023-02-11 19:02

我需要读一个属性文件.我正在使用BufferedReader和FileReader来实现此目的.我在try部分之前将BufferedReader初始化为null并在try部分初始化.最后,我正在关闭读者.此时,我收到标题中提到的错误.

完整的代码如下

public void getPageTitleProperties() throws IOException
    {

        BufferedReader br = null;
        String lhs, rhs;
        try 
        {
            br = new BufferedReader(new FileReader("res" + File.separator + "pagetitle.properties"));
            String line;
            while ((line = br.readLine()) != null) 
            {
                String [] keyvalue = line.split("=");
                lhs = keyvalue[0];
                rhs = keyvalue[1];
                expectedTitles.put(lhs, rhs);
            }
        }
        catch (RuntimeException ex)
        {
            ex.printStackTrace();
        }
        catch (IOException ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            br.close();
        }

        System.out.println("Expected URLs and Titles");
        for (String url : expectedTitles.keySet())
        {
            System.out.println(url + ":" + expectedTitles.get(url));
        }

    }

错误的细节是 -

我怎样才能摆脱这个错误?我已经尝试将BR初始化为非null,在try块中初始化它(由于无法在finally块中解析变量,因此无效):).在一些类似的帖子中,人们提到这可能是假阴性.我还引用了 - http://findbugs.sourceforge.net/bugDescriptions.html#NP_GUARANTEED_DEREF,但无法想出如何摆脱这个bug.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有