org.fest.util
Class Throwables

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

public final class Throwables
extends Object

Utility methods related to Throwables.

Author:
Alex Ruiz

Method Summary
static void appendCurrentThreadStackTraceToThrowable(Throwable t, String methodToStartFrom)
          Appends the stack trace of the current thread to the one in the given Throwable.
static void removeFestRelatedElementsFromStackTrace(Throwable throwable)
          Removes the Fest elements from the Throwable stack trace that have little value for end user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

appendCurrentThreadStackTraceToThrowable

public static void appendCurrentThreadStackTraceToThrowable(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 elements from the Throwable stack trace that have little value for end user.
So instead of seeing this:

org.junit.ComparisonFailure: expected:<'[Ronaldo]'> but was:<'[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:<'[Ronaldo]'> but was:<'[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.


Copyright © 2007-2012 FEST (Fixtures for Easy Software Testing). All Rights Reserved.