Yep, one of the numerous ways in which C# is a much better language :)
On Wed, Jul 31, 2013 at 5:55 PM, Rob Vesse <[email protected]> wrote: > Fair enough > > C# is nicer in that it has a NullReferenceException, ArgumentNullException > and ArgumentException > > Rob > > > On 7/31/13 2:48 PM, "Stephen Allen" <[email protected]> wrote: > > >The Java documentation is rather lacking in this area. But I *think* the > >standard in Java is to throw NPE, even though it seems a little > >counter-intuitive. I base this off of recent experience using Guava a lot > >for precondition checking, and it favors NPE [1], and also Effective Java > >[2] which also says to use NPE. > > > >-Stephen > > > >[1] https://code.google.com/p/guava-libraries/wiki/PreconditionsExplained > >[2] Effective Java 2nd Edition, Item 60: "Arguably, all erroneous method > >invocations boil down to an illegal argument or illegal state, but other > >exceptions are standardly used for certain kinds of illegal arguments and > >states. If a caller passes null in some parameter for which null values > >are > >prohibited, convention dictates that NullPointerException be thrown rather > >than IllegalArgumentException. Similarly, if a caller passes an > >out-of-range value in a parameter representing an index into a sequence, > >IndexOutOfBoundsException should be thrown rather than > >IllegalArgumentException." > > > > > >On Wed, Jul 31, 2013 at 5:27 PM, Rob Vesse <[email protected]> wrote: > > > >> Isn't IllegalArgumentException actually more appropriate here? > >> > >> There's a difference between a NPE which is typically something that > >> shouldn't have been null being null and an IAE which is used for when > >> arguments don't meet the contract of the API which was the case here. > >> > >> Rob > >> > >> > >> On 7/31/13 2:23 PM, "[email protected]" <[email protected]> wrote: > >> > >> >Author: sallen > >> >Date: Wed Jul 31 21:23:52 2013 > >> >New Revision: 1509038 > >> > > >> >URL: http://svn.apache.org/r1509038 > >> >Log: > >> >Replace incorrect IllegalArgumentException with a NullPointerException > >> > > >> >Modified: > >> > > >> > >>>jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/ > >>>Up > >> >dateWriter.java > >> > > >> >Modified: > >> > >>>jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/ > >>>Up > >> >dateWriter.java > >> >URL: > >> > > >> > >> > http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl > >>/ > >> > >>>jena/sparql/modify/request/UpdateWriter.java?rev=1509038&r1=1509037&r2=1 > >>>50 > >> >9038&view=diff > >> > >>>======================================================================== > >>>== > >> >==== > >> >--- > >> > >>>jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/ > >>>Up > >> >dateWriter.java (original) > >> >+++ > >> > >>>jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/modify/request/ > >>>Up > >> >dateWriter.java Wed Jul 31 21:23:52 2013 > >> >@@ -58,7 +58,7 @@ public class UpdateWriter implements Clo > >> > public UpdateWriter(IndentedWriter out, SerializationContext sCxt) > >> > { > >> > if (out == null) > >> >- throw new IllegalArgumentException("out may not be null") > >>; > >> >+ throw new NullPointerException("out") ; > >> > > >> > // To get legal syntax out, the serialization context > >> > // has to be a bNode mapping that does ??N vars to bNodes > >> > > >> > > >> > >> > >
