package com.srbenoit.math.linear;

/**
 * An exception thrown by point and vector arrays when invalid operations are attempted.
 */
public final class ArrayException extends RuntimeException {

    /** version number for serialization */
    private static final long serialVersionUID = -8557346213421131643L;

    /**
     * Constructs a new <code>ArrayException</code> with <code>null</code> as its detail message.
     */
    public ArrayException() {

        super();
    }

    /**
     * Constructs a new <code>ArrayException</code> with the specified detail message.
     *
     * @param  message  the detail message
     */
    public ArrayException(final String message) {

        super(message);
    }

    /**
     * Constructs a new <code>ArrayException</code> with the specified detail message and cause.
     *
     * <p>Note that the detail message associated with <code>cause</code> is <i>not</i>
     * automatically incorporated in this runtime exception's detail message.
     *
     * @param  message  the detail message
     * @param  cause    the cause
     */
    public ArrayException(final String message, final Throwable cause) {

        super(message, cause);
    }

    /**
     * Constructs a new <code>ArrayException</code> with the specified cause and a detail message of
     * <code>(cause==null ? null : cause.toString())</code> (which typically contains the class and
     * detail message of <code>cause</code> ).
     *
     * @param  cause  the cause
     */
    public ArrayException(final Throwable cause) {

        super(cause);
    }
}
