001/*
002 * Copyright (C) 2009 Christian Schulte <cs@schulte.it>
003 * All rights reserved.
004 *
005 * Redistribution and use in source and binary forms, with or without
006 * modification, are permitted provided that the following conditions
007 * are met:
008 *
009 *   o Redistributions of source code must retain the above copyright
010 *     notice, this list of conditions and the following disclaimer.
011 *
012 *   o Redistributions in binary form must reproduce the above copyright
013 *     notice, this list of conditions and the following disclaimer in
014 *     the documentation and/or other materials provided with the
015 *     distribution.
016 *
017 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
018 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
019 * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
020 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT,
021 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
022 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
023 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
024 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
025 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
026 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
027 *
028 * $JOMC: CommandExecutionException.java 5215 2016-04-24 06:54:04Z schulte $
029 *
030 */
031package org.jomc.cli.commands;
032
033/**
034 * Command execution exception.
035 *
036 * @author <a href="mailto:cs@schulte.it">Christian Schulte</a>
037 */
038public class CommandExecutionException extends Exception
039{
040
041    /**
042     * Serial version UID for backwards compatibility with 1.x object streams.
043     */
044    private static final long serialVersionUID = 5113160867045764410L;
045
046    /**
047     * Creates a new {@code CommandExecutionException} instance.
048     */
049    public CommandExecutionException()
050    {
051        super();
052    }
053
054    /**
055     * Creates a new {@code CommandExecutionException} taking a message.
056     *
057     * @param message A message describing the exception.
058     */
059    public CommandExecutionException( final String message )
060    {
061        this( message, null );
062    }
063
064    /**
065     * Creates a new {@code CommandExecutionException} taking a causing throwable.
066     *
067     * @param throwable A throwable causing the exception.
068     */
069    public CommandExecutionException( final Throwable throwable )
070    {
071        this( null, throwable );
072    }
073
074    /**
075     * Creates a new {@code CommandExecutionException} taking a message and a causing throwable.
076     *
077     * @param message A message describing the exception.
078     * @param throwable A throwable causing the exception.
079     */
080    public CommandExecutionException( final String message, final Throwable throwable )
081    {
082        super( message, throwable );
083    }
084
085}