Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #8398
| From | Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Thumbs up for suppressable exceptions in JDK 1.7 |
| Date | 2011-09-29 18:05 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <j6252f$etv$1@dont-email.me> (permalink) |
| References | <j5ru3o$cu7$1@news.albasani.net> <cp5387dadnj2jmuheklm82niu718054nsj@4ax.com> <alpine.DEB.2.00.1109272034540.14737@urchin.earth.li> |
On 27/09/2011 21:43, Tom Anderson allegedly wrote:
> On Tue, 27 Sep 2011, Roedy Green wrote:
>
>> On Tue, 27 Sep 2011 09:31:03 +0200, Jan Burse <janburse@fastmail.fm>
>> wrote, quoted or indirectly quoted someone who said :
>>
>>> Was just playing around with suppressable exceptions in JDK 1.7. This
>>> looks like a great improvement for bug hunting!
>>> ... 5 more
>>
>> I think you need some exposition on why this is a good thing.
>
> It avoids this common mistake:
>
> try {
> doSomethingWhichMightThrowAnException();
> }
> finally {
> doSomeCleanupWhichMightThrowAnException();
> }
>
> In that code, if both methods throw an exception, you will only see the
> second. The first exception - the one which actually caused the problem
> - will be lost. It's as if the VM has a very short attention span, and
> can only focus on whatever exception was most recently thrown.
>
> In Java 7, you can put the cleanup into the close() method of an
> (Auto)Closeable, and use the try-with-resources form:
>
> class Thing implements AutoCloseable {
> public void close() throws AnException {
> doSomeCleanupWhichMightThrowAnException();
> }
> }
>
> try (Thing t = new Thing()) {
> doSomethingWhichMightThrowAnException();
> }
>
> There, the compiler will arrange things so that if close() does throw an
> exception, it will be 'suppressed', and tagged on to the exception
> coming from doSomethingWhichMightThrowAnException() as a suppressed
> exception.
>
> tom
>
Indeed, but even more generally, we can from now on register
"suppressed" exceptions ourselves, as Jan's code and the JSE7 Javadoc
for java.lang.Throwable show. Great Thing IMHO. Closes a hole that's
been lurking there for a very long time.
Thanks Jan for bringing this to my attention.
--
DF.
Determinism trumps correctness.
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar
Thumbs up for suppressable exceptions in JDK 1.7 Jan Burse <janburse@fastmail.fm> - 2011-09-27 09:31 +0200
Re: Thumbs up for suppressable exceptions in JDK 1.7 Roedy Green <see_website@mindprod.com.invalid> - 2011-09-27 02:28 -0700
Re: Thumbs up for suppressable exceptions in JDK 1.7 Jan Burse <janburse@fastmail.fm> - 2011-09-27 11:38 +0200
Re: Thumbs up for suppressable exceptions in JDK 1.7 Tom Anderson <twic@urchin.earth.li> - 2011-09-27 20:43 +0100
Re: Thumbs up for suppressable exceptions in JDK 1.7 Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-09-29 18:05 +0200
Re: Thumbs up for suppressable exceptions in JDK 1.7 Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-09-29 11:25 -0700
Re: Thumbs up for suppressable exceptions in JDK 1.7 Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-09-29 23:57 +0200
Re: Thumbs up for suppressable exceptions in JDK 1.7 Jan Burse <janburse@fastmail.fm> - 2011-09-30 11:30 +0200
Re: Thumbs up for suppressable exceptions in JDK 1.7 Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-09-29 18:57 -0300
Re: Thumbs up for suppressable exceptions in JDK 1.7 Jan Burse <janburse@fastmail.fm> - 2011-10-02 13:38 +0200
Re: Thumbs up for suppressable exceptions in JDK 1.7 Jan Burse <janburse@fastmail.fm> - 2011-10-02 13:45 +0200
Re: Thumbs up for suppressable exceptions in JDK 1.7 Tom Anderson <twic@urchin.earth.li> - 2011-10-03 19:08 +0100
csiph-web