    001/*
    002 * Licensed to the Apache Software Foundation (ASF) under one or more
    003 * contributor license agreements.  See the NOTICE file distributed with
    004 * this work for additional information regarding copyright ownership.
    005 * The ASF licenses this file to You under the Apache License, Version 2.0
    006 * (the "License"); you may not use this file except in compliance with
    007 * the License.  You may obtain a copy of the License at
    008 *
    009 *     http://www.apache.org/licenses/LICENSE-2.0
    010 *
    011 * Unless required by applicable law or agreed to in writing, software
    012 * distributed under the License is distributed on an "AS IS" BASIS,
    013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    014 * See the License for the specific language governing permissions and
    015 * limitations under the License.
    016 */
    017
    018package org.apache.commons.configuration2.ex;
    019
    020
    021/**
    022 * A configuration related runtime exception.
    023 *
    024 * @since 1.0
    025 *
    026 * @author Emmanuel Bourg
    027 * @version $Id: ConfigurationRuntimeException.java 1842194 2018-09-27 22:24:23Z ggregory $
    028 */
    029public class ConfigurationRuntimeException extends RuntimeException
    030{
    031    /**
    032     * The serial version ID.
    033     */
    034    private static final long serialVersionUID = -7838702245512140996L;
    035
    036    /**
    037     * Constructs a new {@code ConfigurationRuntimeException} without
    038     * specified detail message.
    039     */
    040    public ConfigurationRuntimeException()
    041    {
    042        super();
    043    }
    044
    045    /**
    046     * Constructs a new {@code ConfigurationRuntimeException} with
    047     * specified detail message.
    048     *
    049     * @param message  the error message
    050     */
    051    public ConfigurationRuntimeException(final String message)
    052    {
    053        super(message);
    054    }
    055
    056    /**
    057     * Constructs a new {@code ConfigurationRuntimeException} with
    058     * specified detail message using {@link String#format(String,Object...)}.
    059     *
    060     * @param message  the error message
    061     * @param args arguments to the error message
    062     * @see String#format(String,Object...)
    063     */
    064    public ConfigurationRuntimeException(final String message, final Object... args)
    065    {
    066        super(String.format(message, args));
    067    }
    068
    069    /**
    070     * Constructs a new {@code ConfigurationRuntimeException} with
    071     * specified nested {@code Throwable}.
    072     *
    073     * @param cause  the exception or error that caused this exception to be thrown
    074     */
    075    public ConfigurationRuntimeException(final Throwable cause)
    076    {
    077        super(cause);
    078    }
    079
    080    /**
    081     * Constructs a new {@code ConfigurationRuntimeException} with
    082     * specified detail message and nested {@code Throwable}.
    083     *
    084     * @param message  the error message
    085     * @param cause    the exception or error that caused this exception to be thrown
    086     */
    087    public ConfigurationRuntimeException(final String message, final Throwable cause)
    088    {
    089        super(message, cause);
    090    }
    091}