Path: csiph.com!usenet.pasdenom.info!aioe.org!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Daniele Futtorovic Newsgroups: comp.lang.java.programmer Subject: Re: throw null investigation Date: Wed, 18 Jul 2012 23:33:52 +0200 Organization: A noiseless patient Spider Lines: 34 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Injection-Date: Wed, 18 Jul 2012 21:34:25 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="af443352c696022ce926c3d891feba1d"; logging-data="13602"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+tGMTb8zP+jEqRZK/NzxSa" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 In-Reply-To: Cancel-Lock: sha1:XEtgJgIhXCtE3hbg5yMQCGEoWIY= Xref: csiph.com comp.lang.java.programmer:16088 On 18/07/2012 22:35, markspace allegedly wrote: > On 7/18/2012 12:39 PM, Daniel Pitts wrote: >> On 7/18/12 10:10 AM, bob smith wrote: >>> Is it common practice to throw a null exception when writing JNI code? >>> >>> I'm seeing an exception that is simply a null rather than an object, >>> and I'm wondering if it's because it's easier to do that in JNI. >>> >> From what I can tell, that shouldn't ever happen. I'm not sure in JNI, >> but I know in Java if you throw a "null", it will instead throw a >> NullPointerException, so anyone catching that Throwable will not see a >> "null" value, but instead a NullPointerException instance. >> > > > In Java, yes. But in JNI, in C, I'd expect it is possible to literally > throw an empty or null pointer. > > I'd also expect that any code that did that was sub-par, and not worth > using or debugging. > > I'm mildly interested in what the OP is using, mostly so I can avoid it. > However if he can supply some details (*what* are you using, Bob?) I'd > consider taking a loot at it. The actually question he asks: "Is it > common practice," I don't really know or care. It seems bad practice, > but I've never dealt with JNI code, so what do I know? > But if the JNI code actually wanted to throw an NPE, and teh Jav wraps a null into an NPE, wouldn't it actually be more efficient if the JNI code "threw" a null? -- DF.