java try() catch

一、java新型异常处理方式

      今天偶然发现java的try  catch尽然有了c#中using的做用,忽然发现本身没有跟上java的步伐了,今天就转一篇@红薯的文章,省得之后用的时候又找不到了。java

 从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。c#

      新的语句支持包括流以及任何可关闭的资源,例如,通常咱们会编写以下代码来释放资源:ui

private static void customBufferStreamCopy(File source, File target) {
   //在最后不用再finally中释放资源了,能这样写的前提是要自动释放资源的类必须实现java.lang.AutoCloseable 接    //口
    try (InputStream fis = new FileInputStream(source);
        OutputStream fos = new FileOutputStream(target)){
  
        byte[] buf = new byte[8192];
  
        int i;
        while ((i = fis.read(buf)) != -1) {
            fos.write(buf, 0, i);
        }
    }
    //也能够处理多个异常eg:
    //catch (IoException | NullPointerException)
    catch (Exception e) {
        e.printStackTrace();
    }
}

之后要多用了。spa

相关文章
相关标签/搜索