View Javadoc

    1   /**
    2    *
    3    * Copyright 2003-2004 The Apache Software Foundation
    4    *
    5    *  Licensed under the Apache License, Version 2.0 (the "License");
    6    *  you may not use this file except in compliance with the License.
    7    *  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
    10   *
    11   *  Unless required by applicable law or agreed to in writing, software
    12   *  distributed under the License is distributed on an "AS IS" BASIS,
    13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14   *  See the License for the specific language governing permissions and
    15   *  limitations under the License.
    16   */
    17
    18  //
    19  // This source code implements specifications defined by the Java
    20  // Community Process. In order to remain compliant with the specification
    21  // DO NOT add / change / or delete method signatures!
    22  //
    23
    24  package javax.servlet.jsp;
    25
    26  /**
    27   * A generic exception known to the JSP engine; uncaught
    28   * JspExceptions will result in an invocation of the errorpage
    29   * machinery.
    30   */
    31
    32  public class JspException extends Exception {
    33
    34      private Throwable rootCause;
    35
    36
    37      /**
    38       * Construct a JspException.
    39       */
    40      public JspException() {
    41      }
    42
    43
    44      /**
    45       * Constructs a new JSP exception with the
    46       * specified message. The message can be written
    47       * to the server log and/or displayed for the user.
    48       *
    49       * @param msg 		a <code>String</code>
    50       *				specifying the text of
    51       *				the exception message
    52       *
    53       */
    54      public JspException(String msg) {
    55  	super(msg);
    56      }
    57
    58
    59      /**
    60       * Constructs a new JSP exception when the JSP
    61       * needs to throw an exception and include a message
    62       * about the "root cause" exception that interfered with its
    63       * normal operation, including a description message.
    64       *
    65       *
    66       * @param message 		a <code>String</code> containing
    67       *				the text of the exception message
    68       *
    69       * @param rootCause		the <code>Throwable</code> exception
    70       *				that interfered with the servlet's
    71       *				normal operation, making this servlet
    72       *				exception necessary
    73       *
    74       */
    75
    76      public JspException(String message, Throwable rootCause) {
    77  	super(message);
    78  	this.rootCause = rootCause;
    79      }
    80
    81
    82      /**
    83       * Constructs a new JSP exception when the JSP
    84       * needs to throw an exception and include a message
    85       * about the "root cause" exception that interfered with its
    86       * normal operation.  The exception's message is based on the localized
    87       * message of the underlying exception.
    88       *
    89       * <p>This method calls the <code>getLocalizedMessage</code> method
    90       * on the <code>Throwable</code> exception to get a localized exception
    91       * message. When subclassing <code>JspException</code>,
    92       * this method can be overridden to create an exception message
    93       * designed for a specific locale.
    94       *
    95       * @param rootCause 	the <code>Throwable</code> exception
    96       * 				that interfered with the JSP's
    97       *				normal operation, making the JSP exception
    98       *				necessary
    99       *
    100      */
    101
    102     public JspException(Throwable rootCause) {
    103 	super(rootCause.getLocalizedMessage());
    104 	this.rootCause = rootCause;
    105     }
    106
    107
    108     /**
    109      * Returns the exception that caused this JSP exception.
    110      *
    111      *
    112      * @return			the <code>Throwable</code>
    113      *				that caused this JSP exception
    114      *
    115      */
    116
    117     public Throwable getRootCause() {
    118 	return rootCause;
    119     }
    120 }