java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.apache.derby.iapi.services.sanity.AssertFailure
- All Implemented Interfaces:
- java.io.Serializable
- public class AssertFailure
- extends java.lang.RuntimeException
AssertFailure is raised when an ASSERT check fails.
Because assertions are not used in production code,
are never expected to fail, and recovering from their
failure is expected to be hard, they are under
RuntimeException so that no one needs to list them
in their throws clauses. An AssertFailure at the
outermost system level will result in system shutdown.
| Nested classes inherited from class java.lang.Throwable |
|
| Fields inherited from class java.lang.Throwable |
|
nestedException
private java.lang.Throwable nestedException
AssertFailure
public AssertFailure(java.lang.String message,
java.lang.Throwable nestedError)
- This constructor takes the pieces of information
expected for each error.
AssertFailure
public AssertFailure(java.lang.String message)
- This constructor expects no arguments or nested error.
printStackTrace
public void printStackTrace()
- Description copied from class:
java.lang.Throwable
- Print a stack trace to the standard error stream. This stream is the
current contents of
System.err. The first line of output
is the result of Throwable.toString()>Throwable.toString() 55 , and the remaining lines represent
the data created by Throwable.fillInStackTrace()>Throwable.fillInStackTrace() 55 . While the format is
unspecified, this implementation uses the suggested format, demonstrated
by this example:
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
{
}
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
printStackTrace
public void printStackTrace(java.io.PrintStream s)
- Description copied from class:
java.lang.Throwable
- Print a stack trace to the specified PrintStream. See
Throwable.printStackTrace()>
Throwable.printStackTrace() 55 for the sample format.
printStackTrace
public void printStackTrace(java.io.PrintWriter s)
- Description copied from class:
java.lang.Throwable
- Prints the exception, the detailed message and the stack trace
associated with this Throwable to the given
PrintWriter.
The actual output written is implemention specific. Use the result of
getStackTrace() when more precise information is needed.
This implementation first prints a line with the result of this
object's toString() method.
Then for all elements given by getStackTrace it prints
a line containing three spaces, the string "at " and the result of calling
the toString() method on the StackTraceElement
object. If getStackTrace() returns an empty array it prints
a line containing three spaces and the string
"<<No stacktrace available>>".
Then if getCause() doesn't return null it adds a line
starting with "Caused by: " and the result of calling
toString() on the cause.
Then for every cause (of a cause, etc) the stacktrace is printed the
same as for the top level Throwable except that as soon
as all the remaining stack frames of the cause are the same as the
the last stack frames of the throwable that the cause is wrapped in
then a line starting with three spaces and the string "... X more" is
printed, where X is the number of remaining stackframes.