Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #16007
| From | Lew <lewbloch@gmail.com> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: e==null? really? |
| Date | 2012-07-13 13:11 -0700 |
| Organization | http://groups.google.com |
| Message-ID | <57cde03f-92eb-48bf-9da8-ced150c0f921@googlegroups.com> (permalink) |
| References | <c42a91b5-4e73-4647-8dc8-58b258243c2a@googlegroups.com> <jtpbc8$23s$1@dont-email.me> <jtpcfj$99l$1@dont-email.me> |
Eric Sosman wrote:
> markspace wrote:
> > bob smith wrote:
> >> Is it possible to do this in Java?
> >>
> >> throw null;
> >
> >
> > Yes. JLS:
> >
> > <http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.18>
> >
> >
> > "throw Expression ;
> >
> > The Expression in a throw statement must denote either 1) a variable or
> > value of a reference type which is assignable (ยง5.2) to the type
> > Throwable, or 2) the null reference..."
>
> Interesting. Reading onward, though, we find
>
> "If evaluation of the Expression completes normally,
> producing a null value, then an instance V' of class
> NullPointerException is created and thrown instead of
> null. [...]"
>
> ... which leaves a bit of a mystery. The O.P.'s example was
> (fleshed out somewhat)
No mystery. The first refers to a compiler rule, the second to a runtime rule.
> try {
> throw null;
> } catch (Exception e) {
> // e is null here!
> }
>
> ... but according to the JLS that shouldn't have happened. Bug?
It's no more a bug than that you might get a 'ClassCastException' when you cast
a value to another type. The compiler allows what the runtime sometimes
doesn't.
--
Lew
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
e==null? really? bob smith <bob@coolfone.comze.com> - 2012-07-13 07:18 -0700
Re: e==null? really? markspace <-@.> - 2012-07-13 07:29 -0700
Re: e==null? really? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-07-13 10:48 -0400
Re: e==null? really? markspace <-@.> - 2012-07-13 08:22 -0700
Re: e==null? really? Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2012-07-13 09:35 -0700
Re: e==null? really? Lew <lewbloch@gmail.com> - 2012-07-13 13:11 -0700
Re: e==null? really? Joerg Meier <joergmmeier@arcor.de> - 2012-07-13 22:55 +0200
Re: e==null? really? "javax.swing.JSnarker" <gharriman@boojum.mit.edu> - 2012-07-13 17:01 -0400
Re: e==null? really? Lew <lewbloch@gmail.com> - 2012-07-13 13:09 -0700
Re: e==null? really? Roedy Green <see_website@mindprod.com.invalid> - 2012-07-13 12:09 -0700
Re: e==null? really? Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2012-07-13 23:06 +0200
Re: e==null? really? Roedy Green <see_website@mindprod.com.invalid> - 2012-07-14 06:30 -0700
csiph-web