/* * @(#)SQLWarning.java 1.25 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ 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 Connection#getWarnings * @see Statement#getWarnings * @see ResultSet#getWarnings */ public class SQLWarning extends SQLException { /** * Constructs a fully-specified SQLWarning object * initialized with the given values. * * @param reason a description of the warning * @param SQLstate an XOPEN 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 an SQLWarning object * with the given reason and SQLState; * the vendorCode defaults to 0. * * @param reason a description of the warning * @param SQLstate an XOPEN code identifying the warning */ public SQLWarning(String reason, String SQLstate) { super(reason, SQLstate); DriverManager.println("SQLWarning: reason(" + reason + ") SQLState(" + SQLstate + ")"); } /** * Constructs an SQLWarning object * with the given value for a reason; SQLstate defaults to * null, and vendorCode defaults to 0. * * @param reason a description of the warning */ public SQLWarning(String reason) { super(reason); DriverManager.println("SQLWarning: reason(" + reason + ")"); } /** * Constructs a default SQLWarning object. * The reason defaults to null, SQLState * defaults to null, and vendorCode defaults to 0. * */ public SQLWarning() { super(); DriverManager.println("SQLWarning: "); } /** * Retrieves the warning chained to this SQLWarning object. * * @return the next SQLException in the chain; null 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 an SQLWarning object to the end of the chain. * * @param w the new end of the SQLException chain * @see #getNextWarning */ public void setNextWarning(SQLWarning w) { setNextException(w); } }