001 package com.softnetConsult.utils.exceptions;
002
003 /**
004 * A Throwable Error that should be thrown to report a condition that indicates
005 * that there is a bug in the program. This class exists to faciliate brievity
006 * and expressiveness of the source code.
007 *
008 * <p style="font-size:smaller;">This product includes software developed by the
009 * <strong>SoftNet-Consult Java Utility Library</strong> project and its contributors.<br />
010 * (<a href="http://java-tools.sourceforge.net" target="_blank">http://java-tools.sourceforge.net</a>)<br />
011 * Copyright (c) 2007-2008 SoftNet-Consult.<br />
012 * Copyright (c) 2007-2008 G. Paperin.<br />
013 * All rights reserved.
014 * </p>
015 * <p style="font-size:smaller;">File: Bug.java<br />
016 * Library API version: {@value com.softnetConsult.utils.APIProperties#apiVersion}<br />
017 * Java compliance version: {@value com.softnetConsult.utils.APIProperties#javaComplianceVersion}
018 * </p>
019 * <p style="font-size:smaller;">Redistribution and use in source and binary forms, with or
020 * without modification, are permitted provided that the following terms and conditions are met:
021 * </p>
022 * <p style="font-size:smaller;">1. Redistributions of source code must retain the above
023 * acknowledgement of the SoftNet-Consult Java Utility Library project, the above copyright
024 * notice, this list of conditions and the following disclaimer.<br />
025 * 2. Redistributions in binary form must reproduce the above acknowledgement of the
026 * SoftNet-Consult Java Utility Library project, the above copyright notice, this list of
027 * conditions and the following disclaimer in the documentation and/or other materials
028 * provided with the distribution.<br />
029 * 3. All advertising materials mentioning features or use of this software or any derived
030 * software must display the following acknowledgement:<br />
031 * <em>This product includes software developed by the SoftNet-Consult Java Utility Library
032 * project and its contributors.</em>
033 * </p>
034 * <p style="font-size:smaller;">THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY
035 * OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
036 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
037 * THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
038 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
039 * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
040 * </p>
041 * @author Greg Paperin (<a href="http://www.paperin.org" target="_blank">http://www.paperin.org</a>)
042 * @version {@value com.softnetConsult.utils.APIProperties#apiVersion}
043 */
044 public class Bug extends Error {
045
046 /**
047 * Constructs a new Bug with {@code null} as its detail message.
048 * @see Error#Error()
049 */
050 public Bug() { }
051
052 /**
053 * Constructs a new Bug with the specified detail message.
054 *
055 * @param message The detail message
056 * (which is saved for later retrieval by the {@code Throwable.getMessage()} method).
057 * @see Error#Error(String)
058 */
059 public Bug(String message) {
060 super(message);
061 }
062
063 /**
064 * Constructs a new Bug with the specified cause and a detail message of
065 * {@code (cause==null ? null : cause.toString())} (which typically contains the class and
066 * detail message of cause).
067 * This constructor is useful for errors that are little more than wrappers for other throwables.
068 *
069 * @param cause The cause (which is saved for later retrieval by the {@code Throwable.getCause()} method).
070 * (A {@code null} value is permitted, and indicates that the cause is nonexistent or unknown.)
071 * @see Error#Error(Throwable)
072 */
073 public Bug(Throwable cause) {
074 super(cause);
075 }
076
077 /**
078 * Constructs a new Bug with the specified detail message and cause.
079 * Note that the detail message associated with {@code cause} is not automatically incorporated
080 * in this error's detail message.
081 *
082 * @param message The detail message
083 * (which is saved for later retrieval by the {@code Throwable.getMessage()} method).
084 * @param cause The cause (which is saved for later retrieval by the {@code Throwable.getCause()} method).
085 * (A {@code null} value is permitted, and indicates that the cause is nonexistent or unknown.)
086 * @see Error#Error(String, Throwable)
087 */
088 public Bug(String message, Throwable cause) {
089 super(message, cause);
090 }
091
092 } // public class Bug