1 
2 
3 /*
4  * The contents of this file are subject to the terms
5  * of the Common Development and Distribution License
6  * (the "License").  You may not use this file except
7  * in compliance with the License.
8  *
9  * You can obtain a copy of the license at
10  * glassfish/bootstrap/legal/CDDLv1.0.txt or
11  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
12  * See the License for the specific language governing
13  * permissions and limitations under the License.
14  *
15  * When distributing Covered Code, include this CDDL
16  * HEADER in each file and include the License file at
17  * glassfish/bootstrap/legal/CDDLv1.0.txt.  If applicable,
18  * add the following below this CDDL HEADER, with the
19  * fields enclosed by brackets "[]" replaced with your
20  * own identifying information: Portions Copyright [yyyy]
21  * [name of copyright owner]
22  *
23  * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
24  *
25  * Portions Copyright Apache Software Foundation.
26  */
27 
28 package javax.servlet;
29 
30 
31 /**
32  * Defines a general exception a servlet can throw when it
33  * encounters difficulty.
34  *
35  * @author 	Various
36  */
37 
38 
39 public class ServletException extends Exception {
40 
41     private Throwable rootCause;
42 
43 
44 
45 
46 
47     /**
48      * Constructs a new servlet exception.
49      *
50      */
51 
ServletException()52     public ServletException() {
53 	super();
54     }
55 
56 
57 
58 
59 
60     /**
61      * Constructs a new servlet exception with the
62      * specified message. The message can be written
63      * to the server log and/or displayed for the user.
64      *
65      * @param message 		a <code>String</code>
66      *				specifying the text of
67      *				the exception message
68      *
69      */
70 
ServletException(String message)71     public ServletException(String message) {
72 	super(message);
73     }
74 
75 
76 
77 
78 
79     /**
80      * Constructs a new servlet exception when the servlet
81      * needs to throw an exception and include a message
82      * about the "root cause" exception that interfered with its
83      * normal operation, including a description message.
84      *
85      *
86      * @param message 		a <code>String</code> containing
87      *				the text of the exception message
88      *
89      * @param rootCause		the <code>Throwable</code> exception
90      *				that interfered with the servlet's
91      *				normal operation, making this servlet
92      *				exception necessary
93      *
94      */
95 
ServletException(String message, Throwable rootCause)96     public ServletException(String message, Throwable rootCause) {
97 	super(message, rootCause);
98 	this.rootCause = rootCause;
99     }
100 
101 
102 
103 
104 
105     /**
106      * Constructs a new servlet exception when the servlet
107      * needs to throw an exception and include a message
108      * about the "root cause" exception that interfered with its
109      * normal operation.  The exception's message is based on the localized
110      * message of the underlying exception.
111      *
112      * <p>This method calls the <code>getLocalizedMessage</code> method
113      * on the <code>Throwable</code> exception to get a localized exception
114      * message. When subclassing <code>ServletException</code>,
115      * this method can be overridden to create an exception message
116      * designed for a specific locale.
117      *
118      * @param rootCause 	the <code>Throwable</code> exception
119      * 				that interfered with the servlet's
120      *				normal operation, making the servlet exception
121      *				necessary
122      *
123      */
124 
ServletException(Throwable rootCause)125     public ServletException(Throwable rootCause) {
126 	super(rootCause);
127 	this.rootCause = rootCause;
128     }
129 
130 
131 
132 
133 
134     /**
135      * Returns the exception that caused this servlet exception.
136      *
137      *
138      * @return			the <code>Throwable</code>
139      *				that caused this servlet exception
140      *
141      */
142 
getRootCause()143     public Throwable getRootCause() {
144 	return rootCause;
145     }
146 }
147 
148 
149 
150 
151 
152