org.jfree.util

Class StackableException

Known Direct Subclasses:
ObjectDescriptionException, ObjectFactoryException

public abstract class StackableException
extends Exception

A baseclass for exceptions, which could have parent exceptions. These parent exceptions are raised in a subclass and are now wrapped into a subclass of this Exception.

The parents are printed when this exception is printed. This class exists mainly for debugging reasons, as with them it is easier to detect the root cause of an error. <!-- In a perfect world there would be no need for such a class :)-->

Author:
Thomas Morgner

Constructor Summary

StackableException()
Creates a StackableRuntimeException with no message and no parent.
StackableException(String message)
Creates an exception.
StackableException(String message, Exception ex)
Creates an exception.

Method Summary

Exception
getParent()
Returns the parent exception (possibly null).
void
printStackTrace()
Prints this Throwable and its backtrace to the standard error stream.
void
printStackTrace(PrintStream stream)
Prints the stack trace to the specified stream.
void
printStackTrace(PrintWriter writer)
Prints the stack trace to the specified writer.

Constructor Details

StackableException

public StackableException()
Creates a StackableRuntimeException with no message and no parent.

StackableException

public StackableException(String message)
Creates an exception.
Parameters:
message - the exception message.

StackableException

public StackableException(String message,
                          Exception ex)
Creates an exception.
Parameters:
message - the exception message.
ex - the parent exception.

Method Details

getParent

public Exception getParent()
Returns the parent exception (possibly null).
Returns:
the parent exception.

printStackTrace

public void printStackTrace()
Prints this Throwable and its backtrace to the standard error stream. This method prints a stack trace for this 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 toString() method for this object. Remaining lines represent data previously recorded by the method 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[] argv) {
         crunch(null);
     }
     static void crunch(int[] a) {
         mash(a);
     }

     static void mash(int[] b) {
         System.out.println(b[0]);
     }
 }
 
See Also:
System.err

printStackTrace

public void printStackTrace(PrintStream stream)
Prints the stack trace to the specified stream.
Parameters:
stream - the output stream.

printStackTrace

public void printStackTrace(PrintWriter writer)
Prints the stack trace to the specified writer.
Parameters:
writer - the writer.