Class NestableException
java.lang.Object
java.lang.Throwable
java.lang.Exception
org.apache.commons.lang.exception.NestableException
- All Implemented Interfaces:
Serializable,Nestable
@Deprecated(since="2021-04-30")
public class NestableException
extends Exception
implements Nestable
Deprecated.
Commons Lang 2 is in maintenance mode. Commons Lang 3 should be used instead.
The base class of all exceptions which can contain other exceptions.
It is intended to ease the debugging by carrying on the information
about the exception which was caught and provoked throwing the
current exception. Catching and rethrowing may occur multiple
times, and provided that all exceptions except the first one
are descendants of
NestedException, when the
exception is finally printed out using any of the
printStackTrace() methods, the stack trace will contain
the information about all exceptions thrown and caught on
the way.
Running the following program
1 import org.apache.commons.lang.exception.NestableException;
2
3 public class Test {
4 public static void main( String[] args ) {
5 try {
6 a();
7 } catch(Exception e) {
8 e.printStackTrace();
9 }
10 }
11
12 public static void a() throws Exception {
13 try {
14 b();
15 } catch(Exception e) {
16 throw new NestableException("foo", e);
17 }
18 }
19
20 public static void b() throws Exception {
21 try {
22 c();
23 } catch(Exception e) {
24 throw new NestableException("bar", e);
25 }
26 }
27
28 public static void c() throws Exception {
29 throw new Exception("baz");
30 }
31 }
Yields the following stack trace:
org.apache.commons.lang.exception.NestableException: foo
at Test.a(Test.java:16)
at Test.main(Test.java:6)
Caused by: org.apache.commons.lang.exception.NestableException: bar
at Test.b(Test.java:24)
at Test.a(Test.java:14)
... 1 more
Caused by: java.lang.Exception: baz
at Test.c(Test.java:29)
at Test.b(Test.java:22)
... 2 more
- Since:
- 1.0
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.Constructs a newNestableExceptionwithout specified detail message.NestableException(String msg) Deprecated.Constructs a newNestableExceptionwith specified detail message.NestableException(String msg, Throwable cause) Deprecated.Constructs a newNestableExceptionwith specified detail message and nestedThrowable.NestableException(Throwable cause) Deprecated.Constructs a newNestableExceptionwith specified nestedThrowable. -
Method Summary
Modifier and TypeMethodDescriptiongetCause()Deprecated.Returns the reference to the exception or error that caused the exception implementing theNestableto be thrown.Deprecated.Returns the detail message string of this throwable.getMessage(int index) Deprecated.Returns the error message of theThrowablein the chain ofThrowables at the specified index, numbered from 0.String[]Deprecated.Returns the error message of this and any nestedThrowables in an array of Strings, one element for each message.getThrowable(int index) Deprecated.Returns theThrowablein the chain ofThrowables at the specified index, numbered from 0.intDeprecated.Returns the number of nestedThrowables represented by thisNestable, including thisNestable.Deprecated.Returns thisNestableand any nestedThrowables in an array ofThrowables, one element for eachThrowable.intindexOfThrowable(Class type) Deprecated.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) Deprecated.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.final voidDeprecated.Prints the stack trace for this exception only--root cause not included--using the provided writer.voidDeprecated.voidDeprecated.Prints the stack trace of this exception to the specified print stream.voidDeprecated.Prints the stack trace of this exception to the specified print writer.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getLocalizedMessage, getStackTrace, getSuppressed, initCause, setStackTrace, toString
-
Constructor Details
-
NestableException
public NestableException()Deprecated.Constructs a newNestableExceptionwithout specified detail message. -
NestableException
Deprecated.Constructs a newNestableExceptionwith specified detail message.- Parameters:
msg- The error message.
-
NestableException
Deprecated.Constructs a newNestableExceptionwith specified nestedThrowable.- Parameters:
cause- the exception or error that caused this exception to be thrown
-
NestableException
Deprecated.Constructs a newNestableExceptionwith specified detail message and nestedThrowable.- Parameters:
msg- the error messagecause- the exception or error that caused this exception to be thrown
-
-
Method Details
-
getCause
Deprecated.Returns the reference to the exception or error that caused the exception implementing theNestableto be thrown. -
getMessage
Deprecated.Returns the detail message string of this throwable. If it was created with a null message, returns the following: (cause==null ? null : cause.toString()).- Specified by:
getMessagein interfaceNestable- Overrides:
getMessagein classThrowable- Returns:
- String message string of the throwable
-
getMessage
Deprecated.Returns the error message of theThrowablein the chain ofThrowables at the specified index, numbered from 0.- Specified by:
getMessagein interfaceNestable- 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
-
getMessages
Deprecated.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 theNestable.getThrowableCount()operation.- Specified by:
getMessagesin interfaceNestable- Returns:
- the error messages
-
getThrowable
Deprecated.Returns theThrowablein the chain ofThrowables at the specified index, numbered from 0.- Specified by:
getThrowablein interfaceNestable- Parameters:
index- the index, numbered from 0, of theThrowablein the chain ofThrowables- Returns:
- the
Throwable
-
getThrowableCount
public int getThrowableCount()Deprecated.Returns the number of nestedThrowables represented by thisNestable, including thisNestable.- Specified by:
getThrowableCountin interfaceNestable- Returns:
- the throwable count
-
getThrowables
Deprecated.Returns thisNestableand any nestedThrowables in an array ofThrowables, one element for eachThrowable.- Specified by:
getThrowablesin interfaceNestable- Returns:
- the
Throwables
-
indexOfThrowable
Deprecated.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).- Specified by:
indexOfThrowablein interfaceNestable- 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
Deprecated.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).- Specified by:
indexOfThrowablein interfaceNestable- 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
-
printStackTrace
public void printStackTrace()Deprecated.- Overrides:
printStackTracein classThrowable
-
printStackTrace
Deprecated.Prints the stack trace of this exception to the specified print stream. Includes information from the exception, if any, which caused this exception.- Specified by:
printStackTracein interfaceNestable- Overrides:
printStackTracein classThrowable- Parameters:
out-PrintStreamto use for output.
-
printStackTrace
Deprecated.Prints the stack trace of this exception to the specified print writer. Includes information from the exception, if any, which caused this exception.- Specified by:
printStackTracein interfaceNestable- Overrides:
printStackTracein classThrowable- Parameters:
out-PrintWriterto use for output.
-
printPartialStackTrace
Deprecated.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.- Specified by:
printPartialStackTracein interfaceNestable- Parameters:
out- The writer to use.
-