1. 程式人生 > >【Java筆記】檔案輸出流中的IO異常處理

【Java筆記】檔案輸出流中的IO異常處理

在檔案輸出流(FileOutputStream)的寫入操作和關閉資源操作中,比如說檔案寫入失敗或者關閉資源失敗等等,我們不能把這些異常總是拋給虛擬機器,不然JVM會生氣的,我們已經長大了要自己學會處理這些異常。

如:

try {
			fos = new FileOutputStream("d:\\a.txt");
			fos.write(100);
		} catch (IOException ex) {
			throw new RuntimeException("檔案寫入失敗!");
		} finally {
			try {
				if (fos != null)// 若流物件新建失敗,是沒有佔用資源的,故無須清理
					fos.close();
			} catch (IOException ex) {
				throw new RuntimeException("關閉資源失敗!");
			}

		}

上面程式碼處理了兩個異常,分別是寫入異常和關閉資源異常,其中關閉資源操作在有佔用資源的情況下是必須執行的,因此放在finally中,而關閉資源操作也有可能出現異常,故嵌套了try...catch對其處理。