rt/emul/mini/src/main/java/java/lang/RuntimeException.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Tue, 26 Feb 2013 16:54:16 +0100
changeset 772 d382dacfd73f
parent 554 emul/mini/src/main/java/java/lang/RuntimeException.java@05224402145d
permissions -rw-r--r--
Moving modules around so the runtime is under one master pom and can be built without building other modules that are in the repository
     1 /*
     2  * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    25 
    26 package java.lang;
    27 
    28 /**
    29  * {@code RuntimeException} is the superclass of those
    30  * exceptions that can be thrown during the normal operation of the
    31  * Java Virtual Machine.
    32  *
    33  * <p>{@code RuntimeException} and its subclasses are <em>unchecked
    34  * exceptions</em>.  Unchecked exceptions do <em>not</em> need to be
    35  * declared in a method or constructor's {@code throws} clause if they
    36  * can be thrown by the execution of the method or constructor and
    37  * propagate outside the method or constructor boundary.
    38  *
    39  * @author  Frank Yellin
    40  * @jls 11.2 Compile-Time Checking of Exceptions
    41  * @since   JDK1.0
    42  */
    43 public class RuntimeException extends Exception {
    44     static final long serialVersionUID = -7034897190745766939L;
    45 
    46     /** Constructs a new runtime exception with {@code null} as its
    47      * detail message.  The cause is not initialized, and may subsequently be
    48      * initialized by a call to {@link #initCause}.
    49      */
    50     public RuntimeException() {
    51         super();
    52     }
    53 
    54     /** Constructs a new runtime exception with the specified detail message.
    55      * The cause is not initialized, and may subsequently be initialized by a
    56      * call to {@link #initCause}.
    57      *
    58      * @param   message   the detail message. The detail message is saved for
    59      *          later retrieval by the {@link #getMessage()} method.
    60      */
    61     public RuntimeException(String message) {
    62         super(message);
    63     }
    64 
    65     /**
    66      * Constructs a new runtime exception with the specified detail message and
    67      * cause.  <p>Note that the detail message associated with
    68      * {@code cause} is <i>not</i> automatically incorporated in
    69      * this runtime exception's detail message.
    70      *
    71      * @param  message the detail message (which is saved for later retrieval
    72      *         by the {@link #getMessage()} method).
    73      * @param  cause the cause (which is saved for later retrieval by the
    74      *         {@link #getCause()} method).  (A <tt>null</tt> value is
    75      *         permitted, and indicates that the cause is nonexistent or
    76      *         unknown.)
    77      * @since  1.4
    78      */
    79     public RuntimeException(String message, Throwable cause) {
    80         super(message, cause);
    81     }
    82 
    83     /** Constructs a new runtime exception with the specified cause and a
    84      * detail message of <tt>(cause==null ? null : cause.toString())</tt>
    85      * (which typically contains the class and detail message of
    86      * <tt>cause</tt>).  This constructor is useful for runtime exceptions
    87      * that are little more than wrappers for other throwables.
    88      *
    89      * @param  cause the cause (which is saved for later retrieval by the
    90      *         {@link #getCause()} method).  (A <tt>null</tt> value is
    91      *         permitted, and indicates that the cause is nonexistent or
    92      *         unknown.)
    93      * @since  1.4
    94      */
    95     public RuntimeException(Throwable cause) {
    96         super(cause);
    97     }
    98 
    99     /**
   100      * Constructs a new runtime exception with the specified detail
   101      * message, cause, suppression enabled or disabled, and writable
   102      * stack trace enabled or disabled.
   103      *
   104      * @param  message the detail message.
   105      * @param cause the cause.  (A {@code null} value is permitted,
   106      * and indicates that the cause is nonexistent or unknown.)
   107      * @param enableSuppression whether or not suppression is enabled
   108      *                          or disabled
   109      * @param writableStackTrace whether or not the stack trace should
   110      *                           be writable
   111      *
   112      * @since 1.7
   113      */
   114     protected RuntimeException(String message, Throwable cause,
   115                                boolean enableSuppression,
   116                                boolean writableStackTrace) {
   117         super(message, cause, enableSuppression, writableStackTrace);
   118     }
   119 }