Eclipse(Juno) は、このサンプルにリソース リークの警告があると言っています。これは有効ですか?
これは、例外のスロー ポイントがfor
ループ内にある場合に発生します。
package kuni;
import java.io.FileWriter;
import java.util.Arrays;
public class ResourceWarn {
public static void main(String[] args){
try {
FileWriter f = null;
try{
f = new FileWriter("test.txt");
for(String s : Arrays.asList("a","b","c")){
if(s.equals("c"))throw new RuntimeException("aa"); //resource leak warn here
f.write(s);
}
}finally{
try{
f.close();
}catch(Exception ignore){
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}