Re: NPE in creating a SQLException - Mailing list pgsql-jdbc

From Peter Royal
Subject Re: NPE in creating a SQLException
Date
Msg-id 06356E8E-C1D9-11D7-AC9E-000393B61B56@pace2020.com
Whole thread Raw
In response to Re: NPE in creating a SQLException  ("Scot P. Floess" <floess@mindspring.com>)
List pgsql-jdbc
On Tuesday, July 29, 2003, at 11:17  AM, Scot P. Floess wrote:
> Can you send more code?  Is "s" initialized in your synchronized
> block?  You might print s before the synchronized block to verify...
> It could be your null pointer is there...

Sorry I didn't include more.. This is with JVM 1.4.1, so all the java.*
stuff is the standard source for that.

>>
>> I'm getting the below NPE:
>
> java.lang.NullPointerException
>          at java.io.PrintWriter.write(PrintWriter.java:247)
>          at java.io.PrintWriter.print(PrintWriter.java:392)
>          at java.io.PrintWriter.println(PrintWriter.java:529)
>          at java.lang.Throwable.printStackTrace(Throwable.java:509)
>          at java.sql.SQLException.<init>(SQLException.java:103)
>          at
> org.postgresql.util.PSQLException.<init>(PSQLException.java:19)
>          at
> org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Conne
> c
> tion.java:480)
>          at
> org.postgresql.jdbc1.AbstractJdbc1Connection.ExecSQL(AbstractJdbc1Conne
> c
> tion.java:461)
>          at
> org.postgresql.jdbc1.AbstractJdbc1Connection.setAutoCommit(AbstractJdbc
> 1
> Connection.java:942)
>
> The offense starts here (SQLException:103)
>
>        if (!(this instanceof SQLWarning)) {
>            if (DriverManager.getLogWriter() != null) {
>               printStackTrace(DriverManager.getLogWriter());
>            }
>        }
>
> And then continues on to (Throwable:509)
>
>          synchronized (s) {
>              s.println(this);
>              StackTraceElement[] trace = getOurStackTrace();

Which is fully:

     public void printStackTrace(PrintWriter s) {
         synchronized (s) {
             s.println(this);
             StackTraceElement[] trace = getOurStackTrace();
             for (int i=0; i < trace.length; i++)
                 s.println("\tat " + trace[i]);

             Throwable ourCause = getCause();
             if (ourCause != null)
                 ourCause.printStackTraceAsCause(s, trace);
         }
     }

> It is the "s.println(this)" that is causing errors... All of this is
> happening in the constructor, so I guess that is why 'this' is null?
> I'm not 100% sure and pretty confused by it all :/

But 'this' is null.... which is very weird to me.
-pete


pgsql-jdbc by date:

Previous
From: "Scot P. Floess"
Date:
Subject: Re: NPE in creating a SQLException
Next
From: "Scot P. Floess"
Date:
Subject: Re: NPE in creating a SQLException