Small Changes for Java JDK7
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Mon Mar 2 06:26:57 PST 2009
davidl wrote:
> 在 Mon, 02 Mar 2009 08:02:35 +0800,bearophile
> <bearophileHUGS at lycos.com> 写道:
>
>> From:
>> http://jeremymanson.blogspot.com/2009/02/small-language-changes-for-jdk7.html
>>
>>
>> Automated Resource Blocks, to be able to say things like:
>>
>> try (BufferedReader br = new BufferedReader(new FileReader(path)) {
>> return br.readLine();
>> }
>>
>> instead of:
>>
>> BufferedReader br = new BufferedReader(new FileReader(path));
>> try {
>> return br.readLine();
>> } finally {
>> br.close();
>> }
>>
>> based on having BufferedReader implement a Disposable interface.
>>
>> ------------------
>>
>> Exception handling improvements:
>>
>> try {
>> doWork(file);
>> } catch (final IOException | SQLException ex) {
>> logger.log(ex);
>> throw ex;
>> }
>>
>> Bye,
>> bearophile
>
> I believe it is worse than scope(exit) resource.dispose(); in terms of
> syntax.
I agree. They keep on missing the point that the blessed code on the
normal path MUST NOT TAKE THE HIT OF AN EXTRA INDENTATION LEVEL. I am
screaming because people keep on falling in that trap in various
languages, mostly by copying without thinking from other languages. The
first language I know that did that mistake was Lisp itself.
Andrei
More information about the Digitalmars-d
mailing list