source: trunk/gcc/libjava/java/sql/SQLException.java

Last change on this file was 1392, checked in by bird, 21 years ago

This commit was generated by cvs2svn to compensate for changes in r1391,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 5.1 KB
Line 
1/* SQLException.java -- General SQL exception
2 Copyright (C) 1999, 2000 Free Software Foundation, Inc.
3
4This file is part of GNU Classpath.
5
6GNU Classpath is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)
9any later version.
10
11GNU Classpath is distributed in the hope that it will be useful, but
12WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Classpath; see the file COPYING. If not, write to the
18Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1902111-1307 USA.
20
21Linking this library statically or dynamically with other modules is
22making a combined work based on this library. Thus, the terms and
23conditions of the GNU General Public License cover the whole
24combination.
25
26As a special exception, the copyright holders of this library give you
27permission to link this library with independent modules to produce an
28executable, regardless of the license terms of these independent
29modules, and to copy and distribute the resulting executable under
30terms of your choice, provided that you also meet, for each linked
31independent module, the terms and conditions of the license of that
32module. An independent module is a module which is not derived from
33or based on this library. If you modify this library, you may extend
34this exception to your version of the library, but you are not
35obligated to do so. If you do not wish to do so, delete this
36exception statement from your version. */
37
38
39package java.sql;
40
41/**
42 * This exception is thrown when a database error occurs.
43 *
44 * @author Aaron M. Renn (arenn@urbanophile.com)
45 */
46public class SQLException extends Exception
47{
48 static final long serialVersionUID = 2135244094396331484L;
49
50 /**
51 * This is the next exception in the chain
52 */
53 private SQLException next;
54
55 /**
56 * This is the state of the SQL statement at the time of the error.
57 */
58 private String SQLState;
59
60 /**
61 * The vendor error code for this error
62 */
63 private int vendorCode;
64
65 /**
66 * This method initializes a nwe instance of <code>SQLException</code>
67 * with the specified descriptive error message, SQL state string, and
68 * vendor code.
69 *
70 * @param message A string describing the nature of the error.
71 * @param SQLState A string containing the SQL state of the error.
72 * @param vendorCode The vendor error code associated with this error.
73 */
74 public SQLException(String message, String SQLState, int vendorCode)
75 {
76 super(message);
77 this.SQLState = SQLState;
78 this.vendorCode = vendorCode;
79 }
80
81 /**
82 * This method initializes a new instance of <code>SQLException</code>
83 * with the specified descriptive error message and SQL state string.
84 * The vendor error code of this instance will be 0.
85 *
86 * @param message A string describing the nature of the error.
87 * @param SQLState A string containing the SQL state of the error.
88 */
89 public SQLException(String message, String SQLState)
90 {
91 this(message, SQLState, 0);
92 }
93
94 /**
95 * This method initializes a new instance of <code>SQLException</code>
96 * with the specified descriptive error message. The SQL state of this
97 * instance will be <code>null</code> and the vendor error code will be 0.
98 *
99 * @param message A string describing the nature of the error.
100 */
101 public SQLException(String message)
102 {
103 this(message, null, 0);
104 }
105
106 /**
107 * This method initializes a new instance of <code>SQLException</code>
108 * that does not have a descriptive messages and SQL state, and which
109 * has a vendor error code of 0.
110 */
111 public SQLException()
112 {
113 this(null, null, 0);
114 }
115
116 /**
117 * This method returns the SQLState information associated with this
118 * error. The value returned is a <code>String</code> which is formatted
119 * using the XOPEN SQL state conventions.
120 *
121 * @return The SQL state, which may be <code>null</code>.
122 */
123 public String getSQLState()
124 {
125 return SQLState;
126 }
127
128 /**
129 * This method returns the vendor specific error code associated with
130 * this error.
131 *
132 * @return The vendor specific error code associated with this error.
133 */
134 public int getErrorCode()
135 {
136 return vendorCode;
137 }
138
139 /**
140 * This method returns the exception that is chained to this object.
141 *
142 * @return The exception chained to this object, which may be
143 * <code>null</code>.
144 */
145 public SQLException getNextException()
146 {
147 return next;
148 }
149
150 /**
151 * This method adds a new exception to the end of the chain of exceptions
152 * that are chained to this object.
153 *
154 * @param e The exception to add to the end of the chain.
155 */
156 public void setNextException(SQLException e)
157 {
158 if (e == null)
159 return;
160
161 SQLException list_entry = this;
162 while (list_entry.getNextException() != null)
163 list_entry = list_entry.getNextException();
164
165 list_entry.next = e;
166 }
167}
Note: See TracBrowser for help on using the repository browser.