
Java7提供了一個Try-with-resources編譯器蜜糖Compiler sugar語法
來解決每次在try catch在開啟資源後要再finally中關閉資源時的再度拋出例外
那冗長不可讀的程式碼, 而如果使用的資源有實作AutoCloseable的介面
則可以使用Try-with-resources語法來簡化
舉例來說
static void readFile(){
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(""));
br.readLine();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null)
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
可以改成在try後面加上(需要自動關閉的資源)
try(BufferedReader br = new BufferedReader(new FileReader(""))) {
br.readLine();
} catch (IOException e) {
e.printStackTrace();
}


