Package org.fest.util

Class Throwables

java.lang.Object
org.fest.util.Throwables

public final class Throwables extends Object
Utility methods related to Throwables.
Author:
Alex Ruiz
  • Method Details

    • appendStackTraceInCurentThreadToThrowable

      public static void appendStackTraceInCurentThreadToThrowable(Throwable t, String methodToStartFrom)
      Appends the stack trace of the current thread to the one in the given Throwable.
      Parameters:
      t - the given Throwable.
      methodToStartFrom - the name of the method used as the starting point of the current thread's stack trace.
    • removeFestRelatedElementsFromStackTrace

      public static void removeFestRelatedElementsFromStackTrace(Throwable throwable)
      Removes the FEST-related elements from the Throwable stack trace that have little value for end user. Therefore, instead of seeing this:
       org.junit.ComparisonFailure: expected:invalid input: '<''[Ronaldo]'> but was:invalid input: '<''[Messi]'>
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:501)
         at org.fest.assertions.error.ConstructorInvoker.newInstance(ConstructorInvoker.java:34)
         at org.fest.assertions.error.ShouldBeEqual.newComparisonFailure(ShouldBeEqual.java:111)
         at org.fest.assertions.error.ShouldBeEqual.comparisonFailure(ShouldBeEqual.java:103)
         at org.fest.assertions.error.ShouldBeEqual.newAssertionError(ShouldBeEqual.java:81)
         at org.fest.assertions.internal.Failures.failure(Failures.java:76)
         at org.fest.assertions.internal.Objects.assertEqual(Objects.java:116)
         at org.fest.assertions.api.AbstractAssert.isEqualTo(AbstractAssert.java:74)
         at examples.StackTraceFilterExample.main(StackTraceFilterExample.java:13)
       
      We get this:
       org.junit.ComparisonFailure: expected:invalid input: '<''[Ronaldo]'> but was:invalid input: '<''[Messi]'>
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at examples.StackTraceFilterExample.main(StackTraceFilterExample.java:20)
       
      Parameters:
      throwable - the Throwable to filter stack trace.