Package ch.raffael.meldioc.util
Class Exceptions
- java.lang.Object
-
- ch.raffael.meldioc.util.Exceptions
-
public final class Exceptions extends java.lang.ObjectSome utilities for dealing with exceptions. All these methods make sure thatfatal exceptionsare always rethrown immediately.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceExceptions.AutoCloser<E extends java.lang.Exception>
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Throwableaccumulate(io.vavr.control.Option<java.lang.Throwable> current, java.lang.Throwable exception)static <T> io.vavr.control.Try<T>accumulate(io.vavr.control.Try<T> t, java.lang.Throwable exception)static IllegalFlowalwaysRethrow(java.lang.Throwable exception)static <T extends java.lang.Throwable>
IllegalFlowalwaysRethrow(java.lang.Throwable exception, java.lang.Class<T> t)static <T extends java.lang.Throwable>
IllegalFlowalwaysRethrow(java.lang.Throwable exception, java.lang.Class<T> t, java.util.function.Function<? super java.lang.Throwable,? extends T> wrapper)static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable>
IllegalFlowalwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2)static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable,T3 extends java.lang.Throwable>
IllegalFlowalwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.lang.Class<T3> t3)static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable,T3 extends java.lang.Throwable>
IllegalFlowalwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.lang.Class<T3> t3, java.util.function.Function<? super java.lang.Throwable,? extends T1> wrapper)static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable>
IllegalFlowalwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.util.function.Function<? super java.lang.Throwable,? extends T1> wrapper)static <E extends java.lang.Exception>
Exceptions.AutoCloser<E>autoClose(Exceptions.AutoCloser<E> autoCloser)static booleanisFatal(java.lang.Throwable exception)VirtualMachineErrorandLinkageErrorare considered fatal exceptions that no sane program should try to handle.static <E extends java.lang.Throwable,T extends java.lang.Throwable>
ErethrowIfChecked(E exception, java.lang.Class<T> t)static <E extends java.lang.Throwable,T1 extends java.lang.Throwable,T2 extends java.lang.Throwable>
ErethrowIfChecked(E exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2)static <E extends java.lang.Throwable,T1 extends java.lang.Throwable,T2 extends java.lang.Throwable,T3 extends java.lang.Throwable>
ErethrowIfChecked(E exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.lang.Class<T3> t3)static <E extends java.lang.Throwable>
ErethrowIfFatal(E exception)static <E extends java.lang.Throwable>
ErethrowIfFatal(E exception, java.lang.Throwable previous)static <E extends java.lang.Throwable>
ErethrowIfUnchecked(E exception)static java.lang.StringtoString(java.lang.Throwable e)static java.lang.StringtoString(java.lang.Throwable e, boolean stackTrace)
-
-
-
Method Detail
-
isFatal
public static boolean isFatal(java.lang.Throwable exception)
VirtualMachineErrorandLinkageErrorare considered fatal exceptions that no sane program should try to handle. The best reaction to these exceptions is to crash miserably.
-
rethrowIfFatal
public static <E extends java.lang.Throwable> E rethrowIfFatal(E exception)
-
rethrowIfFatal
public static <E extends java.lang.Throwable> E rethrowIfFatal(E exception, @Nullable java.lang.Throwable previous)
-
rethrowIfChecked
public static <E extends java.lang.Throwable,T extends java.lang.Throwable> E rethrowIfChecked(E exception, java.lang.Class<T> t) throws T extends java.lang.Throwable- Throws:
T extends java.lang.Throwable
-
rethrowIfChecked
public static <E extends java.lang.Throwable,T1 extends java.lang.Throwable,T2 extends java.lang.Throwable> E rethrowIfChecked(E exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2) throws T1 extends java.lang.Throwable, T2 extends java.lang.Throwable- Throws:
T1 extends java.lang.Throwable
-
rethrowIfChecked
public static <E extends java.lang.Throwable,T1 extends java.lang.Throwable,T2 extends java.lang.Throwable,T3 extends java.lang.Throwable> E rethrowIfChecked(E exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.lang.Class<T3> t3) throws T1 extends java.lang.Throwable, T2 extends java.lang.Throwable, T3 extends java.lang.Throwable- Throws:
T1 extends java.lang.Throwable
-
rethrowIfUnchecked
public static <E extends java.lang.Throwable> E rethrowIfUnchecked(E exception) throws java.lang.RuntimeException, java.lang.Error- Throws:
java.lang.RuntimeExceptionjava.lang.Error
-
alwaysRethrow
public static IllegalFlow alwaysRethrow(java.lang.Throwable exception)
-
alwaysRethrow
public static <T extends java.lang.Throwable> IllegalFlow alwaysRethrow(java.lang.Throwable exception, java.lang.Class<T> t) throws T extends java.lang.Throwable
- Throws:
T extends java.lang.Throwable
-
alwaysRethrow
public static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable> IllegalFlow alwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2) throws T1 extends java.lang.Throwable, T2 extends java.lang.Throwable
- Throws:
T1 extends java.lang.Throwable
-
alwaysRethrow
public static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable,T3 extends java.lang.Throwable> IllegalFlow alwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.lang.Class<T3> t3) throws T1 extends java.lang.Throwable, T2 extends java.lang.Throwable, T3 extends java.lang.Throwable
- Throws:
T1 extends java.lang.Throwable
-
alwaysRethrow
public static <T extends java.lang.Throwable> IllegalFlow alwaysRethrow(java.lang.Throwable exception, java.lang.Class<T> t, java.util.function.Function<? super java.lang.Throwable,? extends T> wrapper) throws T extends java.lang.Throwable
- Throws:
T extends java.lang.Throwable
-
alwaysRethrow
public static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable> IllegalFlow alwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.util.function.Function<? super java.lang.Throwable,? extends T1> wrapper) throws T1 extends java.lang.Throwable, T2 extends java.lang.Throwable
- Throws:
T1 extends java.lang.Throwable
-
alwaysRethrow
public static <T1 extends java.lang.Throwable,T2 extends java.lang.Throwable,T3 extends java.lang.Throwable> IllegalFlow alwaysRethrow(java.lang.Throwable exception, java.lang.Class<T1> t1, java.lang.Class<T2> t2, java.lang.Class<T3> t3, java.util.function.Function<? super java.lang.Throwable,? extends T1> wrapper) throws T1 extends java.lang.Throwable, T2 extends java.lang.Throwable, T3 extends java.lang.Throwable
- Throws:
T1 extends java.lang.Throwable
-
toString
public static java.lang.String toString(java.lang.Throwable e)
-
toString
public static java.lang.String toString(java.lang.Throwable e, boolean stackTrace)
-
accumulate
public static java.lang.Throwable accumulate(io.vavr.control.Option<java.lang.Throwable> current, java.lang.Throwable exception)
-
accumulate
public static <T> io.vavr.control.Try<T> accumulate(io.vavr.control.Try<T> t, java.lang.Throwable exception)
-
autoClose
public static <E extends java.lang.Exception> Exceptions.AutoCloser<E> autoClose(Exceptions.AutoCloser<E> autoCloser)
-
-