Class Exceptions

java.lang.Object
com.yahoo.yolean.Exceptions

public class Exceptions extends Object
Helper methods for handling exceptions
Author:
bratseth
  • Constructor Details

    • Exceptions

      public Exceptions()
  • Method Details

    • toMessageString

      public static String toMessageString(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 Throwable> Optional<T> findCause(Throwable t, 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)
      Wraps any IOException thrown from a runnable in an UncheckedIOException.
    • uncheckInterrupted

      public static void uncheckInterrupted(Exceptions.RunnableThrowingInterruptedException runnable)
    • uncheckInterruptedAndRestoreFlag

      public static void uncheckInterruptedAndRestoreFlag(Exceptions.RunnableThrowingInterruptedException runnable)
    • uncheck

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

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

      public static <T> T uncheck(Exceptions.SupplierThrowingIOException<T> supplier)
      Wraps any IOException thrown from a supplier in an UncheckedIOException.
    • uncheck

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

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

      public static RuntimeException throwUnchecked(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.