/* * The Apache Software License, Version 1.1 * * Copyright (c) 1999 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact apache@apache.org. * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * . * * ==================================================================== * * This source code implements specifications defined by the Java * Community Process. In order to remain compliant with the specification * DO NOT add / change / or delete method signatures! */ package javax.servlet; /** * Defines a general exception a servlet can throw when it * encounters difficulty. * * @author Various * @version $Version$ * */ public class ServletException extends Exception { private Throwable rootCause; /** * Constructs a new servlet exception. * */ public ServletException() { super(); } /** * Constructs a new servlet exception with the * specified message. The message can be written * to the server log and/or displayed for the user. * * @param message a String * specifying the text of * the exception message * */ public ServletException(String message) { super(message); } /** * Constructs a new servlet exception when the servlet * needs to throw an exception and include a message * about the "root cause" exception that interfered with its * normal operation, including a description message. * * * @param message a String containing * the text of the exception message * * @param rootCause the Throwable exception * that interfered with the servlet's * normal operation, making this servlet * exception necessary * */ public ServletException(String message, Throwable rootCause) { super(message); this.rootCause = rootCause; } /** * Constructs a new servlet exception when the servlet * needs to throw an exception and include a message * about the "root cause" exception that interfered with its * normal operation. The exception's message is based on the localized * message of the underlying exception. * *

This method calls the getLocalizedMessage method * on the Throwable exception to get a localized exception * message. When subclassing ServletException, * this method can be overridden to create an exception message * designed for a specific locale. * * @param rootCause the Throwable exception * that interfered with the servlet's * normal operation, making the servlet exception * necessary * */ public ServletException(Throwable rootCause) { super(rootCause.getLocalizedMessage()); this.rootCause = rootCause; } /** * Returns the exception that caused this servlet exception. * * * @return the Throwable * that caused this servlet exception * */ public Throwable getRootCause() { return rootCause; } }