Re: [jnc-users] NullPointerException in HTTPUrlConnection
Status: Beta
Brought to you by:
soapy
|
From: Marco T. <ma...@mt...> - 2008-07-16 18:10:16
|
Hello André
André 'streeto' Amorim wrote:
> Marco, catching the NPE will prevent the crash in c.connect(), but the
> application starts to behave strangely, and then just segfaults.
Whew! In this case there's a serious problem, not just a non-Sun-JRE
behavior as I suspected.
> I found
> a workaround, you can add this line:
>
> InetAddress addr = InetAddress.getByName(new
> URL("http://bogusurl/asdf/").getHost());
Great, thank you!
Marco
> This will cause an UnknownHostException if the host is unreachable. The
> snippet I sent before becomes, then,
>
> import java.net.InetAddress;
> import java.net.URL;
> import java.net.URLConnection;
>
> public class URLConnectionTest {
> static public void main(String[] args) {
> try {
> System.out.println("first try");
> URL u = new URL("http://www.hasdklashdklj.com/");
> System.out.println(u);
>
> // HACK (GCJ): will throw an UnknownHostException if host is
> unreachable.
> @SuppressWarnings("unused")
> InetAddress addr = InetAddress.getByName(u.getHost());
>
> URLConnection c = u.openConnection();
> System.out.println(c);
> c.connect();
> System.out.println("done");
> } catch (Exception e) {
> System.out.println("nono");
> e.printStackTrace();
> }
> }
> }
>
> Hope this helps.
>
> André.
>
> On Tue, Jul 15, 2008 at 11:24 AM, Marco Trudel <ma...@mt...> wrote:
>
> Hello André
>
> André 'streeto' Amorim wrote:
>
> Hi, I just had the same problem Avi Cohen reported a couple
> months ago. Using a url that does not exist leads to a NPE. The
> code I used for testing is almost the same:
>
> import java.net.URL;
> import java.net.URLConnection;
>
> public class URLConnectionTest {
> static public void main(String[] args) {
> try {
> URL u = new URL("http://www.hasdklashdklj.com/");
> System.out.println(u);
> URLConnection c = u.openConnection();
> System.out.println(c);
> c.connect();
> System.out.println("done");
> } catch (Exception e) {
> System.out.println("nono");
> e.printStackTrace();
> }
> }
> }
>
> Here's the setup:
>
> JNC-1.1.1
> gcc-122233
> Using Windows XP
> Compiling for Windows
> Compiling from source
> Config:
> Not excluding JCE
> Not optimizing
> Not stripping
> Not packing
> All the other options are the default (new project)
>
> Here's the output:
>
> A. exclude JCE, add GNU regex
>
> http://www.hasdklashdklj.com/
> nono
> java.lang.NullPointerException
> at
> java.net.URLConnection.toString(/usr/local/src/gcc/libjava/classpath/java/net/URLConnection.java:627)
> at
> java.io.PrintStream.println(/usr/local/src/gcc/libjava/java/io/PrintStream.java:473)
> at
> URLConnectionTest.main(C:/DOCUME~1/andre/CONFIG~1/Temp/ccOsbaaa.jar:0)
>
>
> B. not excluding JCE, not adding GNU regex (does not seem to
> interfer, tried with and without)
>
> http://www.hasdklashdklj.com/
> gnu.java.net.protocol.http.HTTPURLConnection:http://www.hasdklashdklj.com/
> nono
> java.lang.NullPointerException
> <<No stacktrace available>>
>
>
> The output in eclipse is
>
> http://www.hasdklashdklj.com/
> sun.net.www.protocol.http.HttpURLConnection:http://www.hasdklashdklj.com/
> nono
> java.net.UnknownHostException: www.hasdklashdklj.com
> <http://www.hasdklashdklj.com> <http://www.hasdklashdklj.com>
>
> at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
> (...)
>
>
> Anybody has a workaround? I can't find a way to check the URL
> without using URL.openConnection().
>
>
> maybe:
> try { ... } catch(NullPointerException ex) { /* illegal url */ }
> ?
>
>
> Marco
>
> []s
>
> André.
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move
> Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere
> in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> <http://moblin-contest.org/redirect.php?banner_id=100&url=/>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> javaCompiler-users mailing list
> jav...@li...
> <mailto:jav...@li...>
> https://lists.sourceforge.net/lists/listinfo/javacompiler-users
>
>
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> javaCompiler-users mailing list
> jav...@li...
> https://lists.sourceforge.net/lists/listinfo/javacompiler-users
|