它是,无关它
除非make一个closeStream函数来吞下它
public void closeStream(Closeable s){
try{
if(s!=null)s.close();
}catch(IOException e){
//Log or rethrow as unchecked (like RuntimException) ;)
}
}
或者把try … finally里面的try catch:
try{
BufferedReader r = new BufferedReader(new InputStreamReader(address.openStream()));
try{
String inLine;
while ((inLine = r.readLine()) != null) {
System.out.println(inLine);
}
}finally{
r.close();
}
}catch(IOException e){
e.printStackTrace();
}
它更冗长,一个异常在finally将隐藏一个在尝试,但它在语义上更接近在java7中引入的try-with-resources。