1. 程式人生 > >JDK7&JDK9處理異常新特性

JDK7&JDK9處理異常新特性

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處理異常新特性