javax.xml.xpath

Class XPathException

Implemented Interfaces:
Serializable
Known Direct Subclasses:
XPathExpressionException, XPathFactoryConfigurationException

public class XPathException
extends Exception

A generic XPath exception.
Since:
1.3
See Also:
Serialized Form

Constructor Summary

XPathException(String message)
Create an exception with a message.
XPathException(Throwable cause)
Create an exception with a given cause, and a message of cause == null ?

Method Summary

Throwable
getCause()
Returns the cause of this exception, or null if the cause is not known or non-existant.
void
printStackTrace()
Print a stack trace to the standard error stream.
void
printStackTrace(PrintStream out)
Print a stack trace to the specified PrintStream.
void
printStackTrace(PrintWriter out)
Prints the exception, the detailed message and the stack trace associated with this Throwable to the given PrintWriter.

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

XPathException

public XPathException(String message)
Create an exception with a message. The cause remains uninitialized.
Parameters:

XPathException

public XPathException(Throwable cause)
Create an exception with a given cause, and a message of cause == null ? null : cause.toString().
Parameters:
cause - the cause of this exception
Since:
1.4

Method Details

getCause

public Throwable getCause()
Returns the cause of this exception, or null if the cause is not known or non-existant. This cause is initialized by the new constructors, or by calling initCause.
Overrides:
getCause in interface Throwable
Returns:
the cause of this Throwable
Since:
1.4

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 out)
Print a stack trace to the specified PrintStream. See Throwable.printStackTrace() for the sample format.
Overrides:
printStackTrace in interface Throwable
Parameters:

printStackTrace

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

XPathException.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.