Java RuntimeException Create toRuntimeException(Throwable throwable)

Here you can find the source of toRuntimeException(Throwable throwable)

Description

Converts the given throwable into a RuntimeException , if necessary, and returns it.

License

BSD License

Parameter

Parameter Description
throwable the given exception to convert, if necessary

Exception

Parameter Description
Error if <tt>throwable</tt> was an instance of Error

Return

the converted exception, nesting the original exception if this was not a nor an

Declaration

public static RuntimeException toRuntimeException(Throwable throwable) throws Error 

Method Source Code

//package com.java2s;
/*//from  w w w.  j ava 2 s .  c  o  m
 * =============================================================================
 * Simplified BSD License, see http://www.opensource.org/licenses/
 * -----------------------------------------------------------------------------
 * Copyright (c) 2008-2009, Marco Terzer, Zurich, Switzerland
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions are met:
 * 
 *     * Redistributions of source code must retain the above copyright notice, 
 *       this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above copyright 
 *       notice, this list of conditions and the following disclaimer in the 
 *       documentation and/or other materials provided with the distribution.
 *     * Neither the name of the Swiss Federal Institute of Technology Zurich 
 *       nor the names of its contributors may be used to endorse or promote 
 *       products derived from this software without specific prior written 
 *       permission.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
 * POSSIBILITY OF SUCH DAMAGE.
 * =============================================================================
 */

public class Main {
    /**
     * Converts the given <tt>throwable</tt> into a {@link RuntimeException}, if 
     * necessary, and returns it. 
     * 
     * <p>If <tt>throwable</tt> already was a runtime exception, it is returned
     * as is. If <tt>throwable</tt> was an {@link Error}, it is rethrown. In
     * every other case, a new runtime exception is created, nesting the 
     * original <tt>throwable</tt> 
     * (see {@link RuntimeException#RuntimeException(Throwable)}).
     * 
     * <p>The intended use of this method could somehow look like this:
     * <pre>
     * void myMethod(...) throws RuntimeException {
     *   try {
     *      ... //any kinds of exceptions might occur 
     *   }
     *   catch(Throwable th) {
     *     throw ExceptionUtil.toRuntimeException(th);
     *     //you never get here (and the compiler knows this)
     *   }
     * }
     * </pre>
     *  
     * @param throwable   the given exception to convert, if necessary
     * @return         the converted exception, nesting the original exception
     *                if this was not a {@link RuntimeException} nor an
     *                {@link Error}
     * @throws Error   if <tt>throwable</tt> was an instance of {@link Error}
     */
    public static RuntimeException toRuntimeException(Throwable throwable) throws Error {
        if (throwable instanceof Error)
            throw (Error) throwable;
        return throwable instanceof RuntimeException ? (RuntimeException) throwable
                : new RuntimeException(throwable);
    }
}

Related

  1. toRuntimeException(Exception ex)
  2. toRuntimeException(final Throwable e)
  3. toRuntimeException(Throwable e)
  4. toRuntimeException(Throwable t)
  5. toRuntimeException(Throwable t)
  6. toRuntimeException(Throwable throwable)
  7. toRuntimeExceptionOr(Class exClass, Throwable throwable)