JDK7&JDK9處理異常新特性
阿新 • • 發佈:2019-05-11
tst 數據 異常 取數 final 創建 調用構造方法 src 聲明
1、JDK7新特性是在 try (定義對象,作用域就是try方法體)
復制一個文件實例:
復制文件的原理:
先從硬盤寫出到內存中,創建文件輸入流對象 FileInputStream fis;
中間是在內存中處理數據,fis需要調用 read 方法遍歷每個字節,可以使用數組緩沖區批量讀取數據,用一個變量接收讀取的數據,
fos再將接收數據的變量寫入到硬盤中,while 循環(循環結束的條件),這邊結束的條件就是讀取的數據接收的變量值為-1,則讀取結束,挨個後移的指針停止;
讀取一個寫入一個;
再從內存中處理數據寫入到硬盤中,創建文件輸出流對象 FileOutputStream fos;
其中,讀取數據寫出到內存的文件輸入流對象 和 處理數據後寫入到硬盤中的文件輸出流對象,
都是在 try ()括號中定義;
不用再寫finally 方法體,不用再判斷對象是否還是初始化的Null;
2、JDK9新特性
在try 之前定義好對象,try () 括號中引入創建好的對象;
還以復制文件為例:
在創建流對象的時候,調用構造方法也是聲明了異常的IOException,所以在try 之前調用構造方法創建對象,也是必須處理異常,在外面的大的方法體中 throws 掉;
所以不如使用JDK7的新特性的方便;
JDK7&JDK9處理異常新特性