001    package edu.rice.cs.cunit.instrumentors;
002    
003    /**
004     * Exception inside an instrumentor strategy.
005     *
006     * @author Mathias Ricken
007     */
008    public class InstrumentorException extends RuntimeException {
009        /**
010         * Constructs a new runtime exception with <code>null</code> as its detail message.  The cause is not initialized,
011         * and may subsequently be initialized by a call to {@link #initCause}.
012         */
013        public InstrumentorException() {
014        }
015    
016        /**
017         * Constructs a new runtime exception with the specified detail message. The cause is not initialized, and may
018         * subsequently be initialized by a call to {@link #initCause}.
019         *
020         * @param message the detail message. The detail message is saved for later retrieval by the {@link #getMessage()}
021         *                method.
022         */
023        public InstrumentorException(String message) {
024            super(message);
025        }
026    
027        /**
028         * Constructs a new runtime exception with the specified detail message and cause.  <p>Note that the detail message
029         * associated with <code>cause</code> is <i>not</i> automatically incorporated in this runtime exception's detail
030         * message.
031         *
032         * @param message the detail message (which is saved for later retrieval by the {@link #getMessage()} method).
033         * @param cause   the cause (which is saved for later retrieval by the {@link #getCause()} method).  (A
034         *                <tt>null</tt> value is permitted, and indicates that the cause is nonexistent or unknown.)
035         *
036         * @since 1.4
037         */
038        public InstrumentorException(String message, Throwable cause) {
039            super(message, cause);
040        }
041    
042        /**
043         * Constructs a new runtime exception with the specified cause and a detail message of <tt>(cause==null ? null :
044         * cause.toString())</tt> (which typically contains the class and detail message of <tt>cause</tt>).  This
045         * constructor is useful for runtime exceptions that are little more than wrappers for other throwables.
046         *
047         * @param cause the cause (which is saved for later retrieval by the {@link #getCause()} method).  (A <tt>null</tt>
048         *              value is permitted, and indicates that the cause is nonexistent or unknown.)
049         *
050         * @since 1.4
051         */
052        public InstrumentorException(Throwable cause) {
053            super(cause);
054        }
055    }