org.apache.turbine.util
Class TurbineException

java.lang.Object
  |
  +--java.lang.Throwable
        |
        +--java.lang.Exception
              |
              +--org.apache.turbine.util.TurbineException
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
InitializationException, TurbineSecurityException

public class TurbineException
extends java.lang.Exception

The base class of all exceptions thrown by Turbine. It is intended to ease the debugging by carrying on the information about the exception which was caught and provoked throwing the current exception. Catching and rethrowing may occur multiple times, and provided that all exceptions except the first one are descendands of TurbineException, when the exception is finally printed out using any of the printStackTrace() methods, the stacktrace will contain the information about all exceptions thrown and caught on the way.

Running the following program

  1 import org.apache.turbine.util.TurbineException;
  2
  3 public class Test {
  4     public static void main( String[] args ) {
  5         try {
  6             a();
  7         } catch(Exception e) {
  8             e.printStackTrace();
  9         }
 10      }
 11
 12      public static void a() throws Exception {
 13          try {
 14              b();
 15          } catch(Exception e) {
 16              throw new TurbineException("foo", e);
 17          }
 18      }
 19
 20      public static void b() throws Exception {
 21          try {
 22              c();
 23          } catch(Exception e) {
 24              throw new TurbineException("bar", e);
 25          }
 26      }
 27
 28      public static void c() throws Exception {
 29          throw new Exception("baz");
 30      }
 31 }
 

Yields the following stacktrace:

 java.lang.Exception: baz: bar: foo
    at Test.c(Test.java:29)
    at Test.b(Test.java:22)
 rethrown as TurbineException: bar
    at Test.b(Test.java:24)
    at Test.a(Test.java:14)
 rethrown as TurbineException: foo
    at Test.a(Test.java:16)
    at Test.main(Test.java:6)
 

Author:
Rafal Krzewski
See Also:
Serialized Form

Constructor Summary
TurbineException()
          Constructs a new TurbineException without specified detail message.
TurbineException(java.lang.String msg)
          Constructs a new TurbineException with specified detail message.
TurbineException(java.lang.String msg, java.lang.Throwable nested)
          Constructs a new TurbineException with specified detail message and nested Throwable.
TurbineException(java.lang.Throwable nested)
          Constructs a new TurbineException with specified nested Throwable.
 
Method Summary
 java.lang.String getMessage()
          Returns the error message of this and any nested Throwable.
 void printStackTrace()
          Prints the stack trace of this exception the the standar error stream.
 void printStackTrace(java.io.PrintStream out)
          Prints the stack trace of this exception to the specified print stream.
 void printStackTrace(java.io.PrintWriter out)
          Prints the stack trace of this exception to the specified print writer.
 void printStackTrace(java.io.PrintWriter out, int skip)
          Prints the stack trace of this exception skiping a specified number of stack frames.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TurbineException

public TurbineException()
Constructs a new TurbineException without specified detail message.

TurbineException

public TurbineException(java.lang.String msg)
Constructs a new TurbineException with specified detail message.
Parameters:
msg - The error message.

TurbineException

public TurbineException(java.lang.Throwable nested)
Constructs a new TurbineException with specified nested Throwable.
Parameters:
nested - The exception or error that caused this exception to be thrown.

TurbineException

public TurbineException(java.lang.String msg,
                        java.lang.Throwable nested)
Constructs a new TurbineException with specified detail message and nested Throwable.
Parameters:
msg - The error message.
nested - The exception or error that caused this exception to be thrown.
Method Detail

getMessage

public java.lang.String getMessage()
Returns the error message of this and any nested Throwable.
Overrides:
getMessage in class java.lang.Throwable
Returns:
The error message.

printStackTrace

public void printStackTrace()
Prints the stack trace of this exception the the standar error stream.
Overrides:
printStackTrace in class java.lang.Throwable

printStackTrace

public void printStackTrace(java.io.PrintStream out)
Prints the stack trace of this exception to the specified print stream.
Overrides:
printStackTrace in class java.lang.Throwable
Parameters:
out - PrintStream to use for output.

printStackTrace

public void printStackTrace(java.io.PrintWriter out)
Prints the stack trace of this exception to the specified print writer.
Overrides:
printStackTrace in class java.lang.Throwable
Parameters:
out - PrintWriter to use for output.

printStackTrace

public void printStackTrace(java.io.PrintWriter out,
                            int skip)
Prints the stack trace of this exception skiping a specified number of stack frames.
Parameters:
out - PrintWriter to use for output.
skip - The numbere of stack frames to skip.


Copyright © 2000-2002 Apache Software Foundation. All Rights Reserved.