/*
 * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code 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 General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package java.sql;

An exception that provides information on database access warnings. Warnings are silently chained to the object whose method caused it to be reported.

Warnings may be retrieved from Connection, Statement, and ResultSet objects. Trying to retrieve a warning on a connection after it has been closed will cause an exception to be thrown. Similarly, trying to retrieve a warning on a statement after it has been closed or on a result set after it has been closed will cause an exception to be thrown. Note that closing a statement also closes a result set that it might have produced.

See Also:
Since:1.1
/** * <P>An exception that provides information on database access * warnings. Warnings are silently chained to the object whose method * caused it to be reported. * <P> * Warnings may be retrieved from <code>Connection</code>, <code>Statement</code>, * and <code>ResultSet</code> objects. Trying to retrieve a warning on a * connection after it has been closed will cause an exception to be thrown. * Similarly, trying to retrieve a warning on a statement after it has been * closed or on a result set after it has been closed will cause * an exception to be thrown. Note that closing a statement also * closes a result set that it might have produced. * * @see Connection#getWarnings * @see Statement#getWarnings * @see ResultSet#getWarnings * @since 1.1 */
public class SQLWarning extends SQLException {
Constructs a SQLWarning object with a given reason, SQLState and vendorCode. The cause is not initialized, and may subsequently be initialized by a call to the Throwable.initCause(Throwable) method.
Params:
  • reason – a description of the warning
  • SQLState – an XOPEN or SQL:2003 code identifying the warning
  • vendorCode – a database vendor-specific warning code
/** * Constructs a <code>SQLWarning</code> object * with a given <code>reason</code>, <code>SQLState</code> and * <code>vendorCode</code>. * * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning * @param vendorCode a database vendor-specific warning code */
public SQLWarning(String reason, String SQLState, int vendorCode) { super(reason, SQLState, vendorCode); DriverManager.println("SQLWarning: reason(" + reason + ") SQLState(" + SQLState + ") vendor code(" + vendorCode + ")"); }
Constructs a SQLWarning object with a given reason and SQLState. The cause is not initialized, and may subsequently be initialized by a call to the Throwable.initCause(Throwable) method. The vendor code is initialized to 0.
Params:
  • reason – a description of the warning
  • SQLState – an XOPEN or SQL:2003 code identifying the warning
/** * Constructs a <code>SQLWarning</code> object * with a given <code>reason</code> and <code>SQLState</code>. * * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. The vendor code * is initialized to 0. * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning */
public SQLWarning(String reason, String SQLState) { super(reason, SQLState); DriverManager.println("SQLWarning: reason(" + reason + ") SQLState(" + SQLState + ")"); }
Constructs a SQLWarning object with a given reason. The SQLState is initialized to null and the vendor code is initialized to 0. The cause is not initialized, and may subsequently be initialized by a call to the Throwable.initCause(Throwable) method.
Params:
  • reason – a description of the warning
/** * Constructs a <code>SQLWarning</code> object * with a given <code>reason</code>. The <code>SQLState</code> * is initialized to <code>null</code> and the vendor code is initialized * to 0. * * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. * * @param reason a description of the warning */
public SQLWarning(String reason) { super(reason); DriverManager.println("SQLWarning: reason(" + reason + ")"); }
Constructs a SQLWarning object. The reason, SQLState are initialized to null and the vendor code is initialized to 0. The cause is not initialized, and may subsequently be initialized by a call to the Throwable.initCause(Throwable) method.
/** * Constructs a <code>SQLWarning</code> object. * The <code>reason</code>, <code>SQLState</code> are initialized * to <code>null</code> and the vendor code is initialized to 0. * * The <code>cause</code> is not initialized, and may subsequently be * initialized by a call to the * {@link Throwable#initCause(java.lang.Throwable)} method. * */
public SQLWarning() { super(); DriverManager.println("SQLWarning: "); }
Constructs a SQLWarning object with a given cause. The SQLState is initialized to null and the vendor code is initialized to 0. The reason is initialized to null if cause==null or to cause.toString() if cause!=null.
Params:
  • cause – the underlying reason for this SQLWarning (which is saved for later retrieval by the getCause() method); may be null indicating the cause is non-existent or unknown.
/** * Constructs a <code>SQLWarning</code> object * with a given <code>cause</code>. * The <code>SQLState</code> is initialized * to <code>null</code> and the vendor code is initialized to 0. * The <code>reason</code> is initialized to <code>null</code> if * <code>cause==null</code> or to <code>cause.toString()</code> if * <code>cause!=null</code>. * * @param cause the underlying reason for this <code>SQLWarning</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. */
public SQLWarning(Throwable cause) { super(cause); DriverManager.println("SQLWarning"); }
Constructs a SQLWarning object with a given reason and cause. The SQLState is initialized to null and the vendor code is initialized to 0.
Params:
  • reason – a description of the warning
  • cause – the underlying reason for this SQLWarning (which is saved for later retrieval by the getCause() method); may be null indicating the cause is non-existent or unknown.
/** * Constructs a <code>SQLWarning</code> object * with a given * <code>reason</code> and <code>cause</code>. * The <code>SQLState</code> is initialized to <code>null</code> * and the vendor code is initialized to 0. * * @param reason a description of the warning * @param cause the underlying reason for this <code>SQLWarning</code> * (which is saved for later retrieval by the <code>getCause()</code> method); * may be null indicating the cause is non-existent or unknown. */
public SQLWarning(String reason, Throwable cause) { super(reason,cause); DriverManager.println("SQLWarning : reason("+ reason + ")"); }
Constructs a SQLWarning object with a given reason, SQLState and cause. The vendor code is initialized to 0.
Params:
  • reason – a description of the warning
  • SQLState – an XOPEN or SQL:2003 code identifying the warning
  • cause – the underlying reason for this SQLWarning (which is saved for later retrieval by the getCause() method); may be null indicating the cause is non-existent or unknown.
/** * Constructs a <code>SQLWarning</code> object * with a given * <code>reason</code>, <code>SQLState</code> and <code>cause</code>. * The vendor code is initialized to 0. * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning * @param cause the underlying reason for this <code>SQLWarning</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. */
public SQLWarning(String reason, String SQLState, Throwable cause) { super(reason,SQLState,cause); DriverManager.println("SQLWarning: reason(" + reason + ") SQLState(" + SQLState + ")"); }
Constructs aSQLWarning object with a given reason, SQLState, vendorCode and cause.
Params:
  • reason – a description of the warning
  • SQLState – an XOPEN or SQL:2003 code identifying the warning
  • vendorCode – a database vendor-specific warning code
  • cause – the underlying reason for this SQLWarning (which is saved for later retrieval by the getCause() method); may be null indicating the cause is non-existent or unknown.
/** * Constructs a<code>SQLWarning</code> object * with a given * <code>reason</code>, <code>SQLState</code>, <code>vendorCode</code> * and <code>cause</code>. * * @param reason a description of the warning * @param SQLState an XOPEN or SQL:2003 code identifying the warning * @param vendorCode a database vendor-specific warning code * @param cause the underlying reason for this <code>SQLWarning</code> (which is saved for later retrieval by the <code>getCause()</code> method); may be null indicating * the cause is non-existent or unknown. */
public SQLWarning(String reason, String SQLState, int vendorCode, Throwable cause) { super(reason,SQLState,vendorCode,cause); DriverManager.println("SQLWarning: reason(" + reason + ") SQLState(" + SQLState + ") vendor code(" + vendorCode + ")"); }
Retrieves the warning chained to this SQLWarning object by setNextWarning.
See Also:
Returns:the next SQLException in the chain; null if none
/** * Retrieves the warning chained to this <code>SQLWarning</code> object by * <code>setNextWarning</code>. * * @return the next <code>SQLException</code> in the chain; <code>null</code> if none * @see #setNextWarning */
public SQLWarning getNextWarning() { try { return ((SQLWarning)getNextException()); } catch (ClassCastException ex) { // The chained value isn't a SQLWarning. // This is a programming error by whoever added it to // the SQLWarning chain. We throw a Java "Error". throw new Error("SQLWarning chain holds value that is not a SQLWarning"); } }
Adds a SQLWarning object to the end of the chain.
Params:
  • w – the new end of the SQLException chain
See Also:
/** * Adds a <code>SQLWarning</code> object to the end of the chain. * * @param w the new end of the <code>SQLException</code> chain * @see #getNextWarning */
public void setNextWarning(SQLWarning w) { setNextException(w); } private static final long serialVersionUID = 3917336774604784856L; }