Обсуждение: Patch for some bugs/annoyances
Here's a patch fixing a bug in throwing a PSQLException which causes helpful information to not be displayed. The code is clearly trying to call the PSQLException(String, PSQLState, Object[]) constructor, but instead gets the PSQLException(String, Object) constructor because it forgets the PSQLState. This first bug may have been causing the second; I can't remember anymore. Anyway, sometimes this.state in PSQLException is null causing getSQLState() to throw a NullPointerException. I've included a check for this and return the string "null" when the state is null. Finally, I've changed PSQLState to implement Serializable so that I can throw SQLExceptions to remote callers.
Вложения
On Thu, 11 Dec 2003, Patrick Higgins wrote: > This first bug may have been causing the second; I can't remember > anymore. Anyway, sometimes this.state in PSQLException is null causing > getSQLState() to throw a NullPointerException. I've included a check for > this and return the string "null" when the state is null. > I don't think returning "null" is correct. I think PSQLState.UNKNOWN_STATE should be used as the state when it is null. Kris Jurka
On Thu, 2003-12-11 at 14:32, Kris Jurka wrote: > On Thu, 11 Dec 2003, Patrick Higgins wrote: > > > This first bug may have been causing the second; I can't remember > > anymore. Anyway, sometimes this.state in PSQLException is null causing > > getSQLState() to throw a NullPointerException. I've included a check for > > this and return the string "null" when the state is null. > > > > I don't think returning "null" is correct. I think > PSQLState.UNKNOWN_STATE should be used as the state when it is null. That sounds like a much better idea. I only used "null" because I didn't know better.
On Thu, 11 Dec 2003, Patrick Higgins wrote: > On Thu, 2003-12-11 at 14:32, Kris Jurka wrote: > > On Thu, 11 Dec 2003, Patrick Higgins wrote: > > > > > This first bug may have been causing the second; I can't remember > > > anymore. Anyway, sometimes this.state in PSQLException is null causing > > > getSQLState() to throw a NullPointerException. I've included a check for > > > this and return the string "null" when the state is null. > > > > > > > I don't think returning "null" is correct. I think > > PSQLState.UNKNOWN_STATE should be used as the state when it is null. > > That sounds like a much better idea. I only used "null" because I didn't > know better. > Here's a patch to that effect. Also the Serializable part has already been addressed. Kris Jurka