org.apache.avalon.framework

Class ExceptionUtil

public final class ExceptionUtil extends Object

This class provides basic facilities for manipulating exceptions. Some exception handling stuff thieved from Turbine...

Version: CVS $Revision: 1.22 $ $Date: 2003/02/11 15:58:37 $

Author: Avalon Development Team

Method Summary
static String[]captureStackTrace(Throwable throwable)
Captures the stack trace associated with this exception.
static ThrowablegetCause(Throwable throwable, boolean useReflection)
Utility method to get cause of exception.
static StringprintStackTrace(Throwable throwable)
Generate string for specified exception and the cause of this exception (if any).
static StringprintStackTrace(Throwable throwable, boolean printCascading)
Generate string for specified exception and if printCascading is true will print all cascading exceptions.
static StringprintStackTrace(Throwable throwable, int depth)
Serialize the specified Throwable to a string.
static StringprintStackTrace(Throwable throwable, int depth, boolean printCascading)
Generate exception string for specified exception to specified depth and all Cascading exceptions if printCascading is true.
static StringprintStackTrace(Throwable throwable, int depth, boolean printCascading, boolean useReflection)
Generate exception string for specified exception to specified depth and all Cascading exceptions if printCascading is true.
static String[]splitString(String string, String onToken)
Splits the string on every token into an array of stack frames.

Method Detail

captureStackTrace

public static String[] captureStackTrace(Throwable throwable)
Captures the stack trace associated with this exception.

Parameters: throwable a Throwable

Returns: an array of Strings describing stack frames.

getCause

public static Throwable getCause(Throwable throwable, boolean useReflection)
Utility method to get cause of exception.

Parameters: throwable a Throwable useReflection if true will use reflection to handle JDK1.4 nested exceptions

Returns: cause of specified exception

printStackTrace

public static String printStackTrace(Throwable throwable)
Generate string for specified exception and the cause of this exception (if any).

Parameters: throwable a Throwable

Returns: the stack trace as a String

printStackTrace

public static String printStackTrace(Throwable throwable, boolean printCascading)
Generate string for specified exception and if printCascading is true will print all cascading exceptions.

Parameters: throwable a Throwable printCascading if true will print all cascading exceptions

Returns: the stack trace as a String

printStackTrace

public static String printStackTrace(Throwable throwable, int depth)
Serialize the specified Throwable to a string. Restrict the number of frames printed out to the specified depth. If the depth specified is 0 then all the frames are converted into a string.

Parameters: throwable a Throwable depth number of stack trace frames to show

Returns: the stack trace as a String

printStackTrace

public static String printStackTrace(Throwable throwable, int depth, boolean printCascading)
Generate exception string for specified exception to specified depth and all Cascading exceptions if printCascading is true.

Parameters: throwable a Throwable depth number of stack trace frames to show printCascading if true will print all cascading exceptions

Returns: the stack trace as a String

printStackTrace

public static String printStackTrace(Throwable throwable, int depth, boolean printCascading, boolean useReflection)
Generate exception string for specified exception to specified depth and all Cascading exceptions if printCascading is true. If useReflection is true then the method will also attempt to use reflection to find a method with signature Throwable getCause(). This makes it compatible with JDK1.4 mechanisms for nesting exceptions.

Parameters: throwable a Throwable depth number of stack trace frames to show printCascading if true will print all cascading exceptions useReflection if true will use reflection to handle JDK1.4 nested exceptions

Returns: the stack trace as a String

splitString

public static String[] splitString(String string, String onToken)

Deprecated: This is an internal utility method that should not be used

Splits the string on every token into an array of stack frames.

Parameters: string the string to split onToken the token to split on

Returns: the resultant array