2012-03-15 15 views
0

ファイルを1つずつ処理する必要があるとし、ファイルの読み取り中に例外が発生した場合、プロセスはそのファイルを残し(ログの内容を入れて)、次の処理を開始する必要がありますファイル:私は考えて何ファイル処理で例外が発生する

for (File f: listOfFiles) { 
    try { 
     //implementation of processing each file 
    } catch (Exception e) { 
     //logging 
    } 
}​ 

は私が修正アム?

答えて

3

はい、うまくいくはずです。しかし、あなたは例外を捕まえることにおいてより具体的になりたいかもしれません。

+0

+1「はい」の場合、BTW「例外」をキャッチすることで具体的に*を指定してください。 – Rakesh

+1

一目ぼれで "Exception"をキャッチしないでください。どの例外があなたのコードによってスローされ、適切な順序でキャッチされているかを分析し、それらを個別に処理します。 –

+0

良い!私は他の視点で見ていた..! – Rakesh

1

はい!あなたは正しいですし、最終的にブロックにいくつかのコードを入れてください。ストリームを閉じるか、ファイル自体を閉じることを意味します。以下の擬似コードと同様です。

for(File f : listOfFiles){ 
    try{ 
     //implementation of processing each file 
    }catch(Exception e){ 
     logException(e); 
    }finally{ 
     //close stream or file. 
    } 
} 
関連する問題