Interface Nestable
-
- All Known Implementing Classes:
CloneFailedException
,NestableError
,NestableException
,NestableRuntimeException
,NotImplementedException
,SerializationException
,UnhandledException
public interface Nestable
An interface to be implemented byThrowable
extensions 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 Throwable
getCause()
Returns the reference to the exception or error that caused the exception implementing theNestable
to be thrown.String
getMessage()
Returns the error message of this and any nestedThrowable
.String
getMessage(int index)
Returns the error message of theThrowable
in the chain ofThrowable
s at the specified index, numbered from 0.String[]
getMessages()
Returns the error message of this and any nestedThrowable
s in an array of Strings, one element for each message.Throwable
getThrowable(int index)
Returns theThrowable
in the chain ofThrowable
s at the specified index, numbered from 0.int
getThrowableCount()
Returns the number of nestedThrowable
s represented by thisNestable
, including thisNestable
.Throwable[]
getThrowables()
Returns thisNestable
and any nestedThrowable
s in an array ofThrowable
s, one element for eachThrowable
.int
indexOfThrowable(Class type)
Returns the index, numbered from 0, of the first occurrence of the specified type, or a subclass, in the chain ofThrowable
s.int
indexOfThrowable(Class type, int fromIndex)
Returns the index, numbered from 0, of the firstThrowable
that matches the specified type, or a subclass, in the chain ofThrowable
s with an index greater than or equal to the specified index.void
printPartialStackTrace(PrintWriter out)
Prints the stack trace for this exception only--root cause not included--using the provided writer.void
printStackTrace(PrintStream out)
Prints the stack trace of this exception to the specified print stream.void
printStackTrace(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 theNestable
to 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 theThrowable
in the chain ofThrowable
s at the specified index, numbered from 0.- Parameters:
index
- the index of theThrowable
in the chain ofThrowable
s- Returns:
- the error message, or null if the
Throwable
at the specified index in the chain does not contain a message - Throws:
IndexOutOfBoundsException
- if theindex
argument is negative or not less than the count ofThrowable
s in the chain
-
getMessages
String[] getMessages()
Returns the error message of this and any nestedThrowable
s in an array of Strings, one element for each message. AnyThrowable
not 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 theThrowable
in the chain ofThrowable
s at the specified index, numbered from 0.- Parameters:
index
- the index, numbered from 0, of theThrowable
in the chain ofThrowable
s- Returns:
- the
Throwable
- Throws:
IndexOutOfBoundsException
- if theindex
argument is negative or not less than the count ofThrowable
s in the chain
-
getThrowableCount
int getThrowableCount()
Returns the number of nestedThrowable
s represented by thisNestable
, including thisNestable
.- Returns:
- the throwable count
-
getThrowables
Throwable[] getThrowables()
Returns thisNestable
and any nestedThrowable
s in an array ofThrowable
s, one element for eachThrowable
.- Returns:
- the
Throwable
s
-
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 ofThrowable
s. The method returns -1 if the specified type is not found in the chain.NOTE: From v2.1, we have clarified the
Nestable
interface 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 firstThrowable
that matches the specified type, or a subclass, in the chain ofThrowable
s 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
Nestable
interface 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 thefromIndex
argument is negative or not less than the count ofThrowable
s 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
-PrintWriter
to 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
-PrintStream
to 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 byNestableDelegate
to 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.
-
-