Class TurbineException

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    InitializationException, VelocityEmailException

    public class TurbineException
    extends 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 TurbineException {
     13          try {
     14              b();
     15          } catch(Exception e) {
     16              throw new TurbineException("foo", e);
     17          }
     18      }
     19
     20      public static void b() throws TurbineException {
     21          try {
     22              c();
     23          } catch(Exception e) {
     24              throw new TurbineException("bar", e);
     25          }
     26      }
     27
     28      public static void c() throws TurbineException {
     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, Daniel Rall, Quinton McCombs
    See Also:
    Serialized Form
    • Constructor Detail

      • TurbineException

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

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

        public TurbineException​(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​(String msg,
                                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.