silk
Class BacktraceException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
silk.BacktraceException
- All Implemented Interfaces:
- java.io.Serializable
- public class BacktraceException
- extends java.lang.RuntimeException
A silk.BacktraceException is used to capture and report on
uncaught Exceptions thrown in a silk program.
| Nested classes inherited from class java.lang.Throwable |
|
| Fields inherited from class java.lang.Throwable |
|
printJavaTrace
public static boolean printJavaTrace
exception
private java.lang.Throwable exception
args
private java.lang.Object[] args
env
private Environment env
BacktraceException
public BacktraceException(java.lang.Throwable e,
java.lang.Object[] args,
Environment env)
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()
- 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.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.
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Throwable
- Get a human-readable representation of this Throwable. The detail message
is retrieved by getLocalizedMessage(). Then, with a null detail
message, this string is simply the object's class name; otherwise
the string is
getClass().getName() + ": " + message.