Java軟件低級錯誤(一):資源未及時釋放

 
¨解讀:

    在使用文件、IO流、數據庫連接等不會自動釋放的資源時,應該在使用完畢後馬上將其關閉。關閉資源的代碼try...catch...finally的finally內執行,否則可能造成資源無法釋放。

案例:

FileWriter fileWriter = new FileWriter("");

fileWriter.append(product.toString());

// 如果append()拋出異常,close()方法就不會執行,造成IO流長時間無法釋放

fileWriter.close();

 

 

FileWriter fileWriter = null;

try

{

    fileWriter = new FileWriter("");

    fileWriter.append(product.toString());

}

catch (IOException e)

{

         ...

 }

 finally

 {

// 不管前面是否發生異常,finally中的代碼一定會執行

if (fileWriter != null)

{

    try

    {

        fileWriter.close();

    }

catch (IOException e)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章