• 测试技术
  • 博客
  • 视频
  • 开源
  • 论坛
  • 沙龙
  • 下载
  • 杂志
  • 招聘

字号: | 推荐给好友 上一篇 | 下一篇

Java 理论与实践: 良好的内务处理实践

发布: 2008-6-13 14:36 | 作者: 不详 | 来源: 领测软件测试网编辑整理 | 查看: 6次 | 进入领测软件测试网论坛讨论

领测软件测试网 软件测试技术第一门户S+R#gD}

%m+lu4]zemy软件测试技术第一门户 g&Ysu2|W^ e#[yq!\
清单 2. 正确地在一个方法中获取、使用和释放资源
o] ~0m!C U

    public static Properties loadProperties(String fileName) 
            throws IOException {
        FileInputStream stream = new FileInputStream(fileName);
        try {
            Properties props = new Properties();
            props.load(stream);
            return props;
        }
        finally {
            stream.close();
        }
    }
软件测试技术第一门户-}'j!n/k:W`
软件测试技术第一门户+m5G6O*@_w_ Q?

软件测试技术第一门户&n:D$cX1Q

注意,资源获取(打开文件)是在 try 块外面进行的;如果把它放在 try 块中,那么即使资源获取抛出异常,finally 块也会运行。不仅该方法会不适当(您无法释放您没有获取的资源),finally 块中的代码也可能抛出其自己的异常,比如 NullPointerException。从 finally 块抛出的异常取代导致块退出的异常,这意味着原来的异常丢失了,不能用于帮助进行调试。软件测试技术第一门户+r_ m%cv$c5V

软件测试技术第一门户 Nw#k:K |`