summaryrefslogtreecommitdiff
path: root/java/sql/SQLException.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/sql/SQLException.java')
-rw-r--r--java/sql/SQLException.java314
1 files changed, 135 insertions, 179 deletions
diff --git a/java/sql/SQLException.java b/java/sql/SQLException.java
index fce56650f..64e14503d 100644
--- a/java/sql/SQLException.java
+++ b/java/sql/SQLException.java
@@ -1,5 +1,5 @@
/* SQLException.java -- General SQL exception
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
-
+
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
@@ -39,183 +39,139 @@ exception statement from your version. */
package java.sql;
/**
- * This exception is thrown when a database error occurs.
- *
- * @author Aaron M. Renn (arenn@urbanophile.com)
- */
-public class SQLException extends Exception
-{
-
-/*************************************************************************/
-
-/*
- * Instance Variables
+ * This exception is thrown when a database error occurs. This exception
+ * keeps track of additional information:<br><ul>
+ * <li>The error message string (part of all Throwables)</li>
+ * <li>An "SQLstate" string, following either the XOPEN SQLstate or the SQL 99
+ * conventions.</li>
+ * <li>A vendor-specific integer error code.</li>
+ * <li>A chain to the next exception.</li>
+ * <ul>
+ *
+ * @author Aaron M. Renn (arenn@urbanophile.com)
+ * @status updated to 1.4
*/
-
-/**
- * This is the next exception in the chain
- * @serialized
- */
-private SQLException next;
-
-/**
- * This is the state of the SQL statement at the time of the error.
- * @serialized
- */
-private String SQLState;
-
-/**
- * The vendor error code for this error
- * @serialized
- */
-private int vendorCode;
-
-/*************************************************************************/
-
-/**
- * Static Variables
- */
-
-/**
- * This is the serialization UID for this class
- */
-private static final long serialVersionUID = 2135244094396331484L;
-
-/*************************************************************************/
-
-/*
- * Constructors
- */
-
-/**
- * This method initializes a new instance of <code>SQLException</code>
- * that does not have a descriptive messages and SQL state, and which
- * has a vendor error code of 0.
- */
-public
-SQLException()
-{
- this(null, null, 0);
-}
-
-/*************************************************************************/
-
-/**
- * This method initializes a new instance of <code>SQLException</code>
- * with the specified descriptive error message. The SQL state of this
- * instance will be <code>null</code> and the vendor error code will be 0.
- *
- * @param message A string describing the nature of the error.
- */
-public
-SQLException(String message)
-{
- this(message, null, 0);
-}
-
-/*************************************************************************/
-
-/**
- * This method initializes a new instance of <code>SQLException</code>
- * with the specified descriptive error message and SQL state string.
- * The vendor error code of this instance will be 0.
- *
- * @param message A string describing the nature of the error.
- * @param SQLState A string containing the SQL state of the error.
- */
-public
-SQLException(String message, String SQLState)
-{
- this(message, SQLState, 0);
-}
-
-/*************************************************************************/
-
-/**
- * This method initializes a nwe instance of <code>SQLException</code>
- * with the specified descriptive error message, SQL state string, and
- * vendor code.
- *
- * @param message A string describing the nature of the error.
- * @param SQLState A string containing the SQL state of the error.
- * @param vendorCode The vendor error code associated with this error.
- */
-public
-SQLException(String message, String SQLState, int vendorCode)
-{
- super(message);
-
- this.SQLState = SQLState;
- this.vendorCode = vendorCode;
-}
-
-/*************************************************************************/
-
-/*
- * Instance Methods
- */
-
-/**
- * This method returns the SQLState information associated with this
- * error. The value returned is a <code>String</code> which is formatted
- * using the XOPEN SQL state conventions.
- *
- * @return The SQL state, which may be <code>null</code>.
- */
-public String
-getSQLState()
-{
- return(SQLState);
-}
-
-/*************************************************************************/
-
-/**
- * This method returns the vendor specific error code associated with
- * this error.
- *
- * @return The vendor specific error code associated with this error.
- */
-public int
-getErrorCode()
-{
- return(vendorCode);
-}
-
-/*************************************************************************/
-
-/**
- * This method returns the exception that is chained to this object.
- *
- * @return The exception chained to this object, which may be
- * <code>null</code>.
- */
-public SQLException
-getNextException()
-{
- return(next);
-}
-
-/*************************************************************************/
-
-/**
- * This method adds a new exception to the end of the chain of exceptions
- * that are chained to this object.
- *
- * @param e The exception to add to the end of the chain.
- */
-public void
-setNextException(SQLException e)
+public class SQLException extends Exception
{
- if (e == null)
- return;
-
- SQLException list_entry = this;
- while (list_entry.getNextException() != null)
- list_entry = list_entry.getNextException();
-
- list_entry.next = e;
-}
-
+ /**
+ * Compatible with JDK 1.1+.
+ */
+ private static final long serialVersionUID = 2135244094396331484L;
+
+ /**
+ * This is the next exception in the chain.
+ *
+ * @serial the next exception in the chain
+ */
+ // Package visible for use by SQLWarning.
+ SQLException next;
+
+ /**
+ * This is the state of the SQL statement at the time of the error.
+ *
+ * @serial the SQLstate
+ */
+ private final String SQLState;
+
+ /**
+ * The vendor error code for this error.
+ *
+ * @serial the vendor code
+ */
+ private final int vendorCode;
+
+ /**
+ * Create a new instance that does not have a descriptive messages or SQL
+ * state, and which has a vendor error code of 0.
+ */
+ public SQLException()
+ {
+ this(null, null, 0);
+ }
+
+ /**
+ * Create a new instance with the specified descriptive error message. The
+ * SQL state of this instance will be <code>null</code> and the vendor
+ * error code will be 0.
+ *
+ * @param message a string describing the nature of the error
+ */
+ public SQLException(String message)
+ {
+ this(message, null, 0);
+ }
+
+ /**
+ * Create a new instance with the specified descriptive error message
+ * and SQL state string. The vendor error code of this instance will be 0.
+ *
+ * @param message a string describing the nature of the error
+ * @param SQLState a string containing the SQL state of the error
+ */
+ public SQLException(String message, String SQLState)
+ {
+ this(message, SQLState, 0);
+ }
+
+ /**
+ * Create a new instance with the specified descriptive error message,
+ * SQL state string, and vendor code.
+ *
+ * @param message a string describing the nature of the error
+ * @param SQLState a string containing the SQL state of the error
+ * @param vendorCode the vendor error code associated with this error
+ */
+ public SQLException(String message, String SQLState, int vendorCode)
+ {
+ super(message);
+ this.SQLState = SQLState;
+ this.vendorCode = vendorCode;
+ }
+
+ /**
+ * Get the SQLState information associated with this error. This
+ * implementation formats the value using the XOPEN SQL state conventions.
+ *
+ * @return The SQL state, which may be <code>null</code>
+ */
+ public String getSQLState()
+ {
+ return SQLState;
+ }
+
+ /**
+ * Get the vendor specific error code associated with this error.
+ *
+ * @return the vendor specific error code associated with this error
+ */
+ public int getErrorCode()
+ {
+ return vendorCode;
+ }
+
+ /**
+ * Get any exception that is chained to this object.
+ *
+ * @return the exception chained to this object, or null
+ */
+ public SQLException getNextException()
+ {
+ return next;
+ }
+
+ /**
+ * Add a new exception to the end of the chain of exceptions that are
+ * chained to this object.
+ *
+ * @param e the exception to add to the end of the chain
+ */
+ public void setNextException(SQLException e)
+ {
+ if (e == null)
+ return;
+ SQLException entry = this;
+ while (entry.next != null)
+ entry = entry.next;
+ entry.next = e;
+ }
} // class SQLException
-