Class TruncatableThrowable

  • All Implemented Interfaces:
    java.io.Serializable

    public class TruncatableThrowable
    extends java.lang.Throwable
    An exception which can produce trimmed stack traces. If passed as a parameter to the logger, it will output the trimmed stack traces to the console, and the full stack traces to messages.log and trace.log. To get full stack traces, call getWrappedException() and then call Throwable.printStackTrace() on the returned exception.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      TruncatableThrowable​(java.lang.Throwable wrapped)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      TruncatableThrowable getCause()  
      java.lang.String getMessage()  
      java.lang.StackTraceElement[] getStackTrace()  
      java.lang.StackTraceElement[] getStackTraceEliminatingDuplicateFrames()
      Useful for exceptions which are the causes of other exceptions.
      java.lang.Throwable getWrappedException()  
      void printStackTrace​(java.io.PrintStream stream)  
      void printStackTrace​(java.io.PrintWriter p)
      This method will print a trimmed stack trace to stderr.
      static java.lang.String printStackTraceElement​(java.lang.StackTraceElement stackTraceElement)
      Unfortunately, toString() isn't good enough since we may have elements in the stack representing internal classes, and they don't toString() well.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getLocalizedMessage, getSuppressed, initCause, printStackTrace, setStackTrace
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TruncatableThrowable

        public TruncatableThrowable​(java.lang.Throwable wrapped)
    • Method Detail

      • printStackTrace

        public void printStackTrace​(java.io.PrintStream stream)
        Overrides:
        printStackTrace in class java.lang.Throwable
      • printStackTrace

        public void printStackTrace​(java.io.PrintWriter p)
        This method will print a trimmed stack trace to stderr.
        Overrides:
        printStackTrace in class java.lang.Throwable
      • getCause

        public TruncatableThrowable getCause()
        Overrides:
        getCause in class java.lang.Throwable
      • getStackTrace

        public java.lang.StackTraceElement[] getStackTrace()
        Overrides:
        getStackTrace in class java.lang.Throwable
      • getStackTraceEliminatingDuplicateFrames

        public java.lang.StackTraceElement[] getStackTraceEliminatingDuplicateFrames()
        Useful for exceptions which are the causes of other exceptions. Gets the stack frames, but not only does it eliminate internal classes, it eliminates frames which are redundant with the parent exception. In the case where the exception is not a cause, it returns a normal exception. If duplicate frames are stripped, it will add an
        Returns:
      • getWrappedException

        public java.lang.Throwable getWrappedException()
        Returns:
      • getMessage

        public java.lang.String getMessage()
        Overrides:
        getMessage in class java.lang.Throwable
      • printStackTraceElement

        public static java.lang.String printStackTraceElement​(java.lang.StackTraceElement stackTraceElement)
        Unfortunately, toString() isn't good enough since we may have elements in the stack representing internal classes, and they don't toString() well.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Throwable