19f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li/*
29f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * Licensed to the Apache Software Foundation (ASF) under one or more
39f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * contributor license agreements.  See the NOTICE file distributed with
49f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * this work for additional information regarding copyright ownership.
59f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * The ASF licenses this file to You under the Apache License, Version 2.0
69f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * (the "License"); you may not use this file except in compliance with
79f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * the License.  You may obtain a copy of the License at
89f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *
99f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *      http://www.apache.org/licenses/LICENSE-2.0
109f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *
119f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * Unless required by applicable law or agreed to in writing, software
129f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * distributed under the License is distributed on an "AS IS" BASIS,
139f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
149f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * See the License for the specific language governing permissions and
159f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * limitations under the License.
169f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li */
179f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
189f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Lipackage org.apache.commons.codec;
199f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
209f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li/**
219f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * Thrown when a Decoder has encountered a failure condition during a decode.
229f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li *
239f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * @author Apache Software Foundation
249f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li * @version $Id: DecoderException.java 797804 2009-07-25 17:27:04Z ggregory $
259f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li */
269f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Lipublic class DecoderException extends Exception {
279f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
289f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    /**
299f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * Declares the Serial Version Uid.
309f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *
319f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @see <a href="http://c2.com/cgi/wiki?AlwaysDeclareSerialVersionUid">Always Declare Serial Version Uid</a>
329f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     */
339f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    private static final long serialVersionUID = 1L;
349f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
359f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    /**
369f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * Constructs a new exception with <code>null</code> as its detail message. The cause is not initialized, and may
379f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * subsequently be initialized by a call to {@link #initCause}.
389f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *
399f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @since 1.4
409f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     */
419f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    public DecoderException() {
429f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li        super();
439f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    }
449f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
459f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    /**
469f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * Constructs a new exception with the specified detail message. The cause is not initialized, and may subsequently
479f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * be initialized by a call to {@link #initCause}.
489f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *
499f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @param message
509f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *            The detail message which is saved for later retrieval by the {@link #getMessage()} method.
519f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     */
529f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    public DecoderException(String message) {
539f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li        super(message);
549f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    }
559f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
569f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    /**
579f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * Constructsa new exception with the specified detail message and cause.
589f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *
599f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * <p>
609f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * Note that the detail message associated with <code>cause</code> is not automatically incorporated into this
619f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * exception's detail message.
629f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * </p>
639f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *
649f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @param message
659f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *            The detail message which is saved for later retrieval by the {@link #getMessage()} method.
669f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @param cause
679f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *            The cause which is saved for later retrieval by the {@link #getCause()} method. A <code>null</code>
689f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *            value is permitted, and indicates that the cause is nonexistent or unknown.
699f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @since 1.4
709f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     */
719f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    public DecoderException(String message, Throwable cause) {
729f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li        super(message, cause);
739f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    }
749f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li
759f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    /**
769f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * Constructs a new exception with the specified cause and a detail message of <code>(cause==null ?
779f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * null : cause.toString())</code> (which typically contains the class and detail message of <code>cause</code>).
789f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * This constructor is useful for exceptions that are little more than wrappers for other throwables.
799f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *
809f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @param cause
819f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *            The cause which is saved for later retrieval by the {@link #getCause()} method. A <code>null</code>
829f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     *            value is permitted, and indicates that the cause is nonexistent or unknown.
839f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     * @since 1.4
849f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li     */
859f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    public DecoderException(Throwable cause) {
869f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li        super(cause);
879f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li    }
889f32db87b486c93a0ea71eb1781ee45676b8bf8bXin Li}
89