org.junit.internal.Throwables Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of junit Show documentation
Show all versions of junit Show documentation
JUnit is a unit testing framework for Java, created by Erich Gamma and Kent Beck.
package org.junit.internal;
/**
* Miscellaneous functions dealing with {@code Throwable}.
*
* @author [email protected] (Kevin Cooney)
* @since 4.12
*/
public final class Throwables {
private Throwables() {
}
/**
* Rethrows the given {@code Throwable}, allowing the caller to
* declare that it throws {@code Exception}. This is useful when
* your callers have nothing reasonable they can do when a
* {@code Throwable} is thrown. This is declared to return {@code Exception}
* so it can be used in a {@code throw} clause:
*
* try {
* doSomething();
* } catch (Throwable e} {
* throw Throwables.rethrowAsException(e);
* }
* doSomethingLater();
*
*
* @param e exception to rethrow
* @return does not return anything
* @since 4.12
*/
public static Exception rethrowAsException(Throwable e) throws Exception {
Throwables.rethrow(e);
return null; // we never get here
}
@SuppressWarnings("unchecked")
private static void rethrow(Throwable e) throws T {
throw (T) e;
}
}