Interface Nestable
-
- All Known Implementing Classes:
CloneFailedException,NestableError,NestableException,NestableRuntimeException,NotImplementedException,SerializationException,UnhandledException
public interface NestableAn interface to be implemented byThrowableextensions which would like to be able to nest root exceptions inside themselves.- Since:
- 1.0
- Version:
- $Id: Nestable.java 512889 2007-02-28 18:18:20Z dlr $
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ThrowablegetCause()Returns the reference to the exception or error that caused the exception implementing theNestableto be thrown.StringgetMessage()Returns the error message of this and any nestedThrowable.StringgetMessage(int index)Returns the error message of theThrowablein the chain ofThrowables at the specified index, numbered from 0.String[]getMessages()Returns the error message of this and any nestedThrowables in an array of Strings, one element for each message.ThrowablegetThrowable(int index)Returns theThrowablein the chain ofThrowables at the specified index, numbered from 0.intgetThrowableCount()Returns the number of nestedThrowables represented by thisNestable, including thisNestable.Throwable[]getThrowables()Returns thisNestableand any nestedThrowables in an array ofThrowables, one element for eachThrowable.intindexOfThrowable(Class type)Returns the index, numbered from 0, of the first occurrence of the specified type, or a subclass, in the chain ofThrowables.intindexOfThrowable(Class type, int fromIndex)Returns the index, numbered from 0, of the firstThrowablethat matches the specified type, or a subclass, in the chain ofThrowables with an index greater than or equal to the specified index.voidprintPartialStackTrace(PrintWriter out)Prints the stack trace for this exception only--root cause not included--using the provided writer.voidprintStackTrace(PrintStream out)Prints the stack trace of this exception to the specified print stream.voidprintStackTrace(PrintWriter out)Prints the stack trace of this exception to the specified print writer.
-
-
-
Method Detail
-
getCause
Throwable getCause()
Returns the reference to the exception or error that caused the exception implementing theNestableto be thrown.- Returns:
- throwable that caused the original exception
-
getMessage
String getMessage()
Returns the error message of this and any nestedThrowable.- Returns:
- the error message
-
getMessage
String getMessage(int index)
Returns the error message of theThrowablein the chain ofThrowables at the specified index, numbered from 0.- Parameters:
index- the index of theThrowablein the chain ofThrowables- Returns:
- the error message, or null if the
Throwableat the specified index in the chain does not contain a message - Throws:
IndexOutOfBoundsException- if theindexargument is negative or not less than the count ofThrowables in the chain
-
getMessages
String[] getMessages()
Returns the error message of this and any nestedThrowables in an array of Strings, one element for each message. AnyThrowablenot containing a message is represented in the array by a null. This has the effect of cause the length of the returned array to be equal to the result of thegetThrowableCount()operation.- Returns:
- the error messages
-
getThrowable
Throwable getThrowable(int index)
Returns theThrowablein the chain ofThrowables at the specified index, numbered from 0.- Parameters:
index- the index, numbered from 0, of theThrowablein the chain ofThrowables- Returns:
- the
Throwable - Throws:
IndexOutOfBoundsException- if theindexargument is negative or not less than the count ofThrowables in the chain
-
getThrowableCount
int getThrowableCount()
Returns the number of nestedThrowables represented by thisNestable, including thisNestable.- Returns:
- the throwable count
-
getThrowables
Throwable[] getThrowables()
Returns thisNestableand any nestedThrowables in an array ofThrowables, one element for eachThrowable.- Returns:
- the
Throwables
-
indexOfThrowable
int indexOfThrowable(Class type)
Returns the index, numbered from 0, of the first occurrence of the specified type, or a subclass, in the chain ofThrowables. The method returns -1 if the specified type is not found in the chain.NOTE: From v2.1, we have clarified the
Nestableinterface such that this method matches subclasses. If you want to NOT match subclasses, please useExceptionUtils.indexOfThrowable(Throwable, Class)(which is avaiable in all versions of lang).- Parameters:
type- the type to find, subclasses match, null returns -1- Returns:
- index of the first occurrence of the type in the chain, or -1 if the type is not found
-
indexOfThrowable
int indexOfThrowable(Class type, int fromIndex)
Returns the index, numbered from 0, of the firstThrowablethat matches the specified type, or a subclass, in the chain ofThrowables with an index greater than or equal to the specified index. The method returns -1 if the specified type is not found in the chain.NOTE: From v2.1, we have clarified the
Nestableinterface such that this method matches subclasses. If you want to NOT match subclasses, please useExceptionUtils.indexOfThrowable(Throwable, Class, int)(which is avaiable in all versions of lang).- Parameters:
type- the type to find, subclasses match, null returns -1fromIndex- the index, numbered from 0, of the starting position in the chain to be searched- Returns:
- index of the first occurrence of the type in the chain, or -1 if the type is not found
- Throws:
IndexOutOfBoundsException- if thefromIndexargument is negative or not less than the count ofThrowables in the chain
-
printStackTrace
void printStackTrace(PrintWriter out)
Prints the stack trace of this exception to the specified print writer. Includes information from the exception, if any, which caused this exception.- Parameters:
out-PrintWriterto use for output.
-
printStackTrace
void printStackTrace(PrintStream out)
Prints the stack trace of this exception to the specified print stream. Includes information from the exception, if any, which caused this exception.- Parameters:
out-PrintStreamto use for output.
-
printPartialStackTrace
void printPartialStackTrace(PrintWriter out)
Prints the stack trace for this exception only--root cause not included--using the provided writer. Used byNestableDelegateto write individual stack traces to a buffer. The implementation of this method should callsuper.printStackTrace(out);in most cases.- Parameters:
out- The writer to use.
-
-