|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.lang.Throwable
java.lang.Error
org.jasig.portal.lang.ChainedError
public class ChainedError
The ChainedError class has facilities for error
chaining. Throwables which extend this class inherit these
facilities by implementing appropriate constructors.
| Constructor Summary | |
|---|---|
ChainedError()
Constructs an exception with no message and no cause. |
|
ChainedError(String message)
Constructs an exception with a message but no cause. |
|
ChainedError(String message,
Throwable cause)
Constructs a new exception instance with a message and a cause. |
|
ChainedError(Throwable cause)
Constructs a new exception instance with no message but a cause. |
|
| Method Summary | |
|---|---|
Throwable |
getCause()
Returns the cause for this Throwable or
null. |
String |
getLocalizedMessage()
Translate the error message to a locale specific error message. |
void |
printStackTrace()
Prints this throwable and its backtrace to the standard error stream. |
void |
printStackTrace(PrintStream stream)
Prints this throwable and its backtrace to the specified print stream. |
void |
printStackTrace(PrintWriter stream)
Prints this throwable and its backtrace to the specified print writer. |
| Methods inherited from class java.lang.Throwable |
|---|
fillInStackTrace, getMessage, getStackTrace, initCause, setStackTrace, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ChainedError()
public ChainedError(String message)
message - exception messagepublic ChainedError(Throwable cause)
cause - underlying cause of the exception
public ChainedError(String message,
Throwable cause)
message - exception messagecause - underlying cause of the exception| Method Detail |
|---|
public Throwable getCause()
Throwable or
null. The cause is mean for diagnostic purposes
only; Clients should not try to use the cause for additional
error handling since that would build an inappropriate
subsystem dependency.
getCause in class Throwablenull if not setpublic String getLocalizedMessage()
getLocalizedMessage in class Throwablepublic void printStackTrace()
Throwable object on the error output stream that
is the value of the field System.err. The first
line of output contains the result of the Throwable.toString()
method for this object. Remaining lines represent data
previously recorded by the method Throwable.fillInStackTrace(). The format of this information depends on
the implementation, but the following example may be regarded
as typical:
java.lang.NullPointerException
at MyClass.mash(MyClass.java:9)
at MyClass.crunch(MyClass.java:6)
at MyClass.main(MyClass.java:3)
This example was produced by running the program:
class MyClass {
public static void main(String[] args) {
crunch(null);
}
static void crunch(int[] a) {
mash(a);
}
static void mash(int[] b) {
System.out.println(b[0]);
}
}
The backtrace for a throwable with an initialized, non-null
cause should generally include the backtrace for the cause.
The format of this information depends on the implementation,
but the following example may be regarded as typical:
HighLevelException: MidLevelException: LowLevelException
at Junk.a(Junk.java:13)
at Junk.main(Junk.java:4)
Caused by: MidLevelException: LowLevelException
at Junk.c(Junk.java:23)
at Junk.b(Junk.java:17)
at Junk.a(Junk.java:11)
... 1 more
Caused by: LowLevelException
at Junk.e(Junk.java:30)
at Junk.d(Junk.java:27)
at Junk.c(Junk.java:21)
... 3 more
Note the presence of lines containing the characters
"...". These lines indicate that the remainder of the
stack trace for this exception matches the indicated number of
frames from the bottom of the stack trace of the exception that
was caused by this exception (the "enclosing" exception). This
shorthand can greatly reduce the length of the output in the
common case where a wrapped exception is thrown from same
method as the "causative exception" is caught. The above
example was produced by running the program:
public class Junk {
public static void main(String args[]) {
try {
a();
} catch(HighLevelException e) {
e.printStackTrace();
}
}
static void a() throws HighLevelException {
try {
b();
} catch(MidLevelException e) {
throw new HighLevelException(e);
}
}
static void b() throws MidLevelException {
c();
}
static void c() throws MidLevelException {
try {
d();
} catch(LowLevelException e) {
throw new MidLevelException(e);
}
}
static void d() throws LowLevelException {
e();
}
static void e() throws LowLevelException {
throw new LowLevelException();
}
}
class HighLevelException extends Exception {
HighLevelException(Throwable cause) { super(cause); }
}
class MidLevelException extends Exception {
MidLevelException(Throwable cause) { super(cause); }
}
class LowLevelException extends Exception {
}
printStackTrace in class Throwablepublic void printStackTrace(PrintStream stream)
printStackTrace in class Throwablestream - PrintStream to use for output
NullPointerException - if stream is nullpublic void printStackTrace(PrintWriter stream)
printStackTrace in class Throwablestream - PrintWriter to use for output
NullPointerException - if stream is null
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||