|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
org.apache.derby.shared.common.sanity.AssertFailure
public class AssertFailure
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. An AssertFailure also contains a string representation of a full thread dump for all the live threads at the moment it was thrown if the JVM supports it and we have the right permissions. If the JVM doesn't have the method Thread.getAllStackTraces i.e, we are on a JVM < 1.5, or if we don't have the permissions java.lang.RuntimePermission "getStackTrace" and "modifyThreadGroup", a message saying so is stored instead. The thread dump string is printed to System.err after the normal stack trace when the error is thrown, and it is also directly available by getThreadDump().
Field Summary | |
---|---|
private java.lang.String |
threadDump
|
Constructor Summary | |
---|---|
AssertFailure()
This constructor expects no arguments or nested error. |
|
AssertFailure(java.lang.String message)
This constructor takes the just the message for this error. |
|
AssertFailure(java.lang.String message,
java.lang.Throwable nestedError)
This constructor takes the pieces of information expected for each error. |
Method Summary | |
---|---|
private java.lang.String |
dumpThreads()
Dumps stack traces for all the threads if the JVM supports it. |
java.lang.String |
getThreadDump()
Returns the thread dump stored in this AssertFailure as a string. |
void |
printStackTrace()
Overrides printStackTrace() in java.lang.Throwable to include the thread dump after the normal stack trace. |
void |
printStackTrace(java.io.PrintStream s)
Overrides printStackTrace(PrintStream s) in java.lang.Throwable to include the thread dump after the normal stack trace. |
void |
printStackTrace(java.io.PrintWriter s)
Overrides printStackTrace(PrintWriter s) in java.lang.Throwable to include the thread dump after the normal stack trace. |
Methods inherited from class java.lang.Throwable |
---|
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, setStackTrace, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private java.lang.String threadDump
Constructor Detail |
---|
public AssertFailure(java.lang.String message, java.lang.Throwable nestedError)
message
- the message associated with
the error.nestedError
- errors can be nested together;
if this error has another error associated with it,
it is specified here. The 'outermost' error should be
the most severe error; inner errors should be providing
additional information about what went wrong.public AssertFailure(java.lang.String message)
message
- the message associated with the error.public AssertFailure()
Method Detail |
---|
public java.lang.String getThreadDump()
public void printStackTrace()
printStackTrace
in class java.lang.Throwable
public void printStackTrace(java.io.PrintStream s)
printStackTrace
in class java.lang.Throwable
public void printStackTrace(java.io.PrintWriter s)
printStackTrace
in class java.lang.Throwable
private java.lang.String dumpThreads()
|
Built on Thu 2012-03-29 21:53:33+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |