javax.xml.transform

Class TransformerException

Implemented Interfaces:
Serializable
Known Direct Subclasses:
TransformerConfigurationException

public class TransformerException
extends Exception

An exception occurred during the transformation process.
See Also:
Serialized Form

Constructor Summary

TransformerException(String msg)
Constructor with a detail message.
TransformerException(String msg, Throwable cause)
Constructor with a detail message and underlying cause.
TransformerException(String msg, SourceLocator locator)
Constructor with a detail message and locator.
TransformerException(String msg, SourceLocator locator, Throwable cause)
Constructor with detail message, locator and underlying cause.
TransformerException(Throwable cause)
Constructor with an underlying cause.

Method Summary

Throwable
getCause()
Returns the underlying cause of this exception.
Throwable
getException()
Returns the underlying cause of this exception.
String
getLocationAsString()
Returns the location information as a string.
SourceLocator
getLocator()
Returns a locator indicating where the error occurred.
String
getMessageAndLocation()
Returns the exception message with location information appended.
Throwable
initCause(Throwable cause)
Initializes the root cause of this exception.
void
printStackTrace()
Print a stack trace to the standard error stream.
void
printStackTrace(PrintStream s)
Print a stack trace to the specified PrintStream.
void
printStackTrace(PrintWriter s)
Prints the exception, the detailed message and the stack trace associated with this Throwable to the given PrintWriter.
void
setLocator(SourceLocator location)
Sets the locator indicating where the error occurred.

Methods inherited from class java.lang.Throwable

fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

TransformerException

public TransformerException(String msg)
Constructor with a detail message.

TransformerException

public TransformerException(String msg,
                            Throwable cause)
Constructor with a detail message and underlying cause.

TransformerException

public TransformerException(String msg,
                            SourceLocator locator)
Constructor with a detail message and locator.

TransformerException

public TransformerException(String msg,
                            SourceLocator locator,
                            Throwable cause)
Constructor with detail message, locator and underlying cause.

TransformerException

public TransformerException(Throwable cause)
Constructor with an underlying cause.

Method Details

getCause

public Throwable getCause()
Returns the underlying cause of this exception.
Overrides:
getCause in interface Throwable

getException

public Throwable getException()
Returns the underlying cause of this exception.

getLocationAsString

public String getLocationAsString()
Returns the location information as a string.

getLocator

public SourceLocator getLocator()
Returns a locator indicating where the error occurred.

getMessageAndLocation

public String getMessageAndLocation()
Returns the exception message with location information appended.

initCause

public Throwable initCause(Throwable cause)
Initializes the root cause of this exception. This method may be called only once, and will be called by the constructor if a non-null cause is specified. Really phenomenally poor API design.
Overrides:
initCause in interface Throwable
Parameters:
cause - the underlying cause
Throws:
IllegalArgumentException - if this exception is passed as the argument
IllegalStateException - if a cause has already been initialized

printStackTrace

public void printStackTrace()
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(), and the remaining lines represent the data created by Throwable.fillInStackTrace(). 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
 
Overrides:
printStackTrace in interface Throwable

printStackTrace

public void printStackTrace(PrintStream s)
Print a stack trace to the specified PrintStream. See Throwable.printStackTrace() for the sample format.
Overrides:
printStackTrace in interface Throwable
Parameters:
s - the PrintStream to write the trace to

printStackTrace

public void printStackTrace(PrintWriter s)
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.

Overrides:
printStackTrace in interface Throwable
Parameters:
Since:
1.1

setLocator

public void setLocator(SourceLocator location)
Sets the locator indicating where the error occurred.

TransformerException.java -- Copyright (C) 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.