A
download ChainedError.java
Language: Java
LOC: 36
Project Info
Enhydra Server(enhydra)
Server: ObjectWeb Forge
Type: cvs
...s\Core\src\com\lutris\util\
   Base64Encoder.java
   BMByteSearch.java
   BMByteSearchStream.java
   BytesToString.java
   ChainedError.java
   ChainedException.java
   ...edRuntimeException.java
   ChainedThrowable.java
   ChainedThrowableUtil.java
   CircularQueue.java
   Convert.java
   Currency.java
   ExceptionUtils.java
   FilePersistentStore.java
   HexEncoder.java
   HtmlEncoder.java
   JavaScriptEncoder.java
   JavaVersion.java
   LRUCache.java
   ...utStreamEventQueue.java
   ...eamEventQueueEntry.java
   OutputStreamHub.java
   PersistentStore.java
   ...tentStoreException.java
   QuotedString.java
   StringEnum.java
   TmpDir.java

//Enhydra API javadoc generation
/*
 * Enhydra Java Application Server Project
 * 
 * The contents of this file are subject to the Enhydra Public License
 * Version 1.1 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License on
 * the Enhydra web site ( http://www.enhydra.org/ ).
 * 
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See 
 * the License for the specific terms governing rights and limitations
 * under the License.
 * 
 * The Initial Developer of the Enhydra Application Server is Lutris
 * Technologies, Inc. The Enhydra Application Server and portions created
 * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
 * All Rights Reserved.
 * 
 * Contributor(s):
 * 
 * $Id: ChainedError.java,v 1.15 2005/06/13 09:26:06 draganr Exp $
 */

package com.lutris.util;

import java.io.*;

/**
 * Error used as a base for creating an error that has a chain of
 * exceptions that lead to the derived error.  Very useful for interfaces
 * where the implementation exception is not known.
 */
public class ChainedError extends Error implements ChainedThrowable {
    private Throwable cause;

    /**
     * Construct an error without a specified cause.
     *
     * @param msg The message associated with the exception.
     */
    public ChainedError(String msg) {
        super(msg);
        cause = null;
    }

    /**
     * Construct an exception with an associated causing exception.
     *
     * @param msg The message associated with the exception.
     * @param cause The error or exception that cause this
     *  exception.
     */
    public ChainedError(String msg,
                        Throwable cause) {
        super(msg);
        this.cause = cause;
    }

    /**
     * Construct an exception from a causing exception.
     *
     * @param cause The error or exception that cause this
     *  exception. The message will be take be this object's
     *  messasge.
     */
    public ChainedError(Throwable cause) {
        super(ChainedThrowableUtil.makeMessage(cause));
        this.cause = cause;
    }

    /**
     * Return the message associated with this exception.  If causes
     * are included, they will be appended to the message.
     */
    public String getMessage() {
        return ChainedThrowableUtil.getMessage(this, super.getMessage());
    }

    /**
     * Get the causing exception associated with this exception.
     * @return The causing exception or null if no cause is specified.
     */
    public Throwable getCause() {
        return cause;
    }

    /**
     * Prints this ChainedError and its backtrace, and the causes
     * and their stack traces to the standard error stream. 
     */
    public void printStackTrace() {
        super.printStackTrace();
        ChainedThrowableUtil.printCauseTrace(this);
    }

    /**
     * Prints this ChainedError and its backtrace, and the causes
     * and their stack traces to the e specified print stream. 
     */
    public void printStackTrace(PrintStream s) {
        super.printStackTrace(s);
        ChainedThrowableUtil.printCauseTrace(this, s);
    }

    /**
     * Prints this ChainedError and its backtrace, and the causes
     * and their stack traces to the e specified print writer. 
     */
    public void printStackTrace(PrintWriter s) {
        super.printStackTrace(s);
        ChainedThrowableUtil.printCauseTrace(this, s);
    }
}

About Koders | Resources | Downloads | Support | Black Duck | Terms of Service | DMCA | Privacy Policy | Contact Us