Class Exceptions


  • public class Exceptions
    extends java.lang.Object
    Helper methods for handling exceptions
    Author:
    bratseth
    • Constructor Detail

      • Exceptions

        public Exceptions()
    • Method Detail

      • toMessageString

        public static java.lang.String toMessageString​(java.lang.Throwable t)

        Returns a user friendly error message string which includes information from all nested exceptions.

        The form of this string is e.getMessage(): e.getCause().getMessage(): e.getCause().getCause().getMessage()... In addition, some heuristics are used to clean up common cases where exception nesting causes bad messages.

      • findCause

        public static <T extends java.lang.Throwable> java.util.Optional<T> findCause​(java.lang.Throwable t,
                                                                                      java.lang.Class<T> clazz)
        Returns the first cause or the given throwable that is an instance of clazz
      • uncheck

        public static void uncheck​(Exceptions.RunnableThrowingIOException runnable,
                                   java.lang.String format,
                                   java.lang.String... args)
        Wraps any IOException thrown from a runnable in an UncheckedIOException w/message.
      • uncheckAndIgnore

        public static <T extends java.io.IOException> void uncheckAndIgnore​(Exceptions.RunnableThrowingIOException runnable,
                                                                            java.lang.Class<T> exceptionToIgnore)
        Similar to uncheck(), except an exceptionToIgnore exception is silently ignored.
      • uncheck

        public static <T> T uncheck​(Exceptions.SupplierThrowingIOException<T> supplier,
                                    java.lang.String format,
                                    java.lang.String... args)
        Wraps any IOException thrown from a supplier in an UncheckedIOException w/message.
      • uncheckAndIgnore

        public static <R,​T extends java.io.IOException> R uncheckAndIgnore​(Exceptions.SupplierThrowingIOException<R> supplier,
                                                                                 java.lang.Class<T> exceptionToIgnore)
        Similar to uncheck(), except null is returned if exceptionToIgnore is thrown.
      • throwUnchecked

        public static java.lang.RuntimeException throwUnchecked​(java.lang.Throwable e)
        Allows treating checked exceptions as unchecked. Usage: throw throwUnchecked(e); The reason for the return type is to allow writing throw at the call site instead of just calling throwUnchecked. Just calling throwUnchecked means that the java compiler won't know that the statement will throw an exception, and will therefore complain on things such e.g. missing return value.