Java 7 ARM(Automatic Resource Management,自动资源管理)

若是一个try块中有多个异常要被捕获,catch块中的代码会变丑陋的同时还要用多余的代码来记录异常。有鉴于此,Java 7的一个新特征是:一个catch子句中能够捕获多个异常。示例代码以下:spa

catch(IOException | SQLException | Exception ex){
     logger.error(ex);
     throw new MyException(ex.getMessage());
}

大多数状况下,当忘记关闭资源或因资源耗尽出现运行时异常时,咱们只是用finally子句来关闭资源。这些异常很难调试,咱们须要深刻到资源使用 的每一步来肯定是否已关闭。所以,Java 7用try-with-resources进行了改进:在try子句中能建立一个资源对象,当程序的执行完try-catch以后,运行环境自动关闭资 源。下面是这方面改进的示例代码:调试

try (MyResource mr = new MyResource()) {
            System.out.println("MyResource created in try-with-resources");
        } catch (Exception e) {
            e.printStackTrace();
        }
相关文章
相关标签/搜索