Class Throwables


  • public final class Throwables
    extends java.lang.Object
    Miscellaneous functions dealing with Throwable.
    Since:
    4.12
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  Throwables.State  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Throwables()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static void appendStackTraceLines​(java.util.List<java.lang.String> stackTraceLines, java.lang.StringBuilder destBuilder)  
      private static <T> java.util.List<T> asReversedList​(java.util.List<T> list)  
      private static java.util.List<java.lang.String> getCauseStackTraceLines​(java.lang.Throwable exception)  
      private static java.lang.String getFullStackTrace​(java.lang.Throwable exception)  
      static java.lang.String getStacktrace​(java.lang.Throwable exception)
      Returns the stacktrace of the given Throwable as a String.
      static java.lang.String getTrimmedStackTrace​(java.lang.Throwable exception)
      Gets a trimmed version of the stack trace of the given exception.
      private static java.util.List<java.lang.String> getTrimmedStackTraceLines​(java.lang.Throwable exception)  
      private static boolean hasSuppressed​(java.lang.Throwable exception)  
      private static java.lang.reflect.Method initGetSuppressed()  
      private static boolean isMatchingMethod​(java.lang.String methodName, java.lang.String[] methodNamePrefixes)  
      private static boolean isReflectionMethod​(java.lang.String methodName)  
      private static boolean isTestFrameworkMethod​(java.lang.String methodName)  
      private static <T extends java.lang.Throwable>
      void
      rethrow​(java.lang.Throwable e)  
      static java.lang.Exception rethrowAsException​(java.lang.Throwable e)
      Rethrows the given Throwable, allowing the caller to declare that it throws Exception.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • getSuppressed

        private static final java.lang.reflect.Method getSuppressed
      • TEST_FRAMEWORK_METHOD_NAME_PREFIXES

        private static final java.lang.String[] TEST_FRAMEWORK_METHOD_NAME_PREFIXES
      • TEST_FRAMEWORK_TEST_METHOD_NAME_PREFIXES

        private static final java.lang.String[] TEST_FRAMEWORK_TEST_METHOD_NAME_PREFIXES
      • REFLECTION_METHOD_NAME_PREFIXES

        private static final java.lang.String[] REFLECTION_METHOD_NAME_PREFIXES
    • Constructor Detail

      • Throwables

        private Throwables()
    • Method Detail

      • rethrowAsException

        public static java.lang.Exception rethrowAsException​(java.lang.Throwable e)
                                                      throws java.lang.Exception
        Rethrows the given Throwable, allowing the caller to declare that it throws Exception. This is useful when your callers have nothing reasonable they can do when a Throwable is thrown. This is declared to return Exception so it can be used in a throw clause:
         try {
           doSomething();
         } catch (Throwable e} {
           throw Throwables.rethrowAsException(e);
         }
         doSomethingLater();
         
        Parameters:
        e - exception to rethrow
        Returns:
        does not return anything
        Throws:
        java.lang.Exception
        Since:
        4.12
      • rethrow

        private static <T extends java.lang.Throwable> void rethrow​(java.lang.Throwable e)
                                                             throws T extends java.lang.Throwable
        Throws:
        T extends java.lang.Throwable
      • getStacktrace

        public static java.lang.String getStacktrace​(java.lang.Throwable exception)
        Returns the stacktrace of the given Throwable as a String.
        Since:
        4.13
      • getTrimmedStackTrace

        public static java.lang.String getTrimmedStackTrace​(java.lang.Throwable exception)
        Gets a trimmed version of the stack trace of the given exception. Stack trace elements that are below the test method are filtered out.
        Returns:
        a trimmed stack trace, or the original trace if trimming wasn't possible
      • getTrimmedStackTraceLines

        private static java.util.List<java.lang.String> getTrimmedStackTraceLines​(java.lang.Throwable exception)
      • initGetSuppressed

        private static java.lang.reflect.Method initGetSuppressed()
      • hasSuppressed

        private static boolean hasSuppressed​(java.lang.Throwable exception)
      • getCauseStackTraceLines

        private static java.util.List<java.lang.String> getCauseStackTraceLines​(java.lang.Throwable exception)
      • getFullStackTrace

        private static java.lang.String getFullStackTrace​(java.lang.Throwable exception)
      • appendStackTraceLines

        private static void appendStackTraceLines​(java.util.List<java.lang.String> stackTraceLines,
                                                  java.lang.StringBuilder destBuilder)
      • asReversedList

        private static <T> java.util.List<T> asReversedList​(java.util.List<T> list)
      • isTestFrameworkMethod

        private static boolean isTestFrameworkMethod​(java.lang.String methodName)
      • isReflectionMethod

        private static boolean isReflectionMethod​(java.lang.String methodName)
      • isMatchingMethod

        private static boolean isMatchingMethod​(java.lang.String methodName,
                                                java.lang.String[] methodNamePrefixes)