Java中try()...catch()用法


  在stackoverflow偶爾看到的一個關於try()...catch()的用法,通常我們使用try...catch()捕獲異常的,如果遇到類似IO流的處理,要在finally部分關閉IO流,當然這個是JDK1.7之前的寫法了;在JDK7優化后的try-with-resource語句,該語句確保了每個資源,在語句結束時關閉。所謂的資源是指在程序完成后,必須關閉的流對象。寫在()里面的流對象對應的類都實現了自動關閉接口AutoCloseable

  格式:

 

try (創建流對象語句,如果多個,使用';'隔開) {
	// 讀寫數據
} catch (IOException e) {
	e.printStackTrace();
}

 

 

  演示代碼,下面的test目錄是不存在的,運行會拋出異常;

  • JDK1.7之前

FileWriter fw = null;

try {
	fw = new FileWriter("test\\test.txt");
	fw.write("test");
} catch (Exception ex) {
	ex.printStackTrace();
} finally {
	if (fw != null) {
		try {
			fw.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

  

  • JDK1.7之后

try(FileWriter fw = new FileWriter("test.txt")) {
	fw.write("test");
} catch(Exception ex) {
	ex.printStackTrace();
}

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM