JavaTM 2 Platform
Standard Ed. 5.0

javax.xml.xpath
类 XPathException

java.lang.Object
  继承者 java.lang.Throwable
      继承者 java.lang.Exception
          继承者 javax.xml.xpath.XPathException
所有已实现的接口:
Serializable
直接已知子类:
XPathExpressionException, XPathFactoryConfigurationException

public class XPathException
extends Exception

XPathException 表示一般的 XPath 异常。

从以下版本开始:
1.5
另请参见:
序列化表格

构造方法摘要
XPathException(String message)
          构造带指定详细 message 的新 XPathException
XPathException(Throwable cause)
          构造带指定 cause 的新 XPathException
 
方法摘要
 Throwable getCause()
          返回此 throwable 的 cause;如果 cause 不存在或未知,则返回 null
 void printStackTrace()
          将此 throwable 及其追踪输出至标准错误流。
 void printStackTrace(PrintStream s)
          将此 throwable 及其追踪输出到指定的输出流。
 void printStackTrace(PrintWriter s)
          将此 throwable 及其追踪输出到指定的 PrintWriter。
 
从类 java.lang.Throwable 继承的方法
fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, initCause, setStackTrace, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

XPathException

public XPathException(String message)

构造带指定详细 message 的新 XPathException

cause 未初始化。

如果 messagenull,则抛出 NullPointerException

参数:
message - 详细消息。

XPathException

public XPathException(Throwable cause)

构造带指定 cause 的新 XPathException

如果 causenull,则抛出 NullPointerException

参数:
cause - 原因
抛出:
NullPointerException - 如果 causenull
方法详细信息

getCause

public Throwable getCause()
从类 Throwable 复制的描述
返回此 throwable 的 cause;如果 cause 不存在或未知,则返回 null。(该 Cause 是导致抛出此 throwable 的throwable。)

此实现返回由一个需要 Throwable 的构造方法提供的 cause,或者在创建之后通过 Throwable.initCause(Throwable) 方法进行设置的 cause。虽然通常不需要重写此方法,但子类可以重写它,以返回一个通过某些其他方式设置的 cause。这适用于在异常链(异常嵌套)机制被加入到 Throwable 之前存在“遗留 Throwable 链机制”的情况。注意,不必 重写任何 PrintStackTrace 方法,所有方法都调用 getCause 方法来确定 throwable 的 cause。

覆盖:
Throwable 中的 getCause
返回:
此 throwable 的 cause,如果 cause 不存在或是未知的,则返回 null

printStackTrace

public void printStackTrace(PrintStream s)
从类 Throwable 复制的描述
将此 throwable 及其追踪输出到指定的输出流。

覆盖:
Throwable 中的 printStackTrace
参数:
s - 用于输出的 PrintStream

printStackTrace

public void printStackTrace()
从类 Throwable 复制的描述
将此 throwable 及其追踪输出至标准错误流。此方法将此 Throwable 对象的堆栈跟踪输出至错误输出流,作为字段 System.err 的值。输出的第一行包含此对象的 Throwable.toString() 方法的结果。剩余行表示以前由方法 Throwable.fillInStackTrace() 记录的数据。此信息的格式取决于实现,但以下示例是最常见的:
 java.lang.NullPointerException
         at MyClass.mash(MyClass.java:9)
         at MyClass.crunch(MyClass.java:6)
         at MyClass.main(MyClass.java:3)
 
本示例通过运行以下程序生成:
 class MyClass {
     public static void main(String[] args) {
         crunch(null);
     }
     static void crunch(int[] a) {
         mash(a);
     }
     static void mash(int[] b) {
         System.out.println(b[0]);
     }
 }
 
对于带初始化非空 cause 的 throwable 的追踪,通常应该包括 cause 的追踪。此信息的格式取决于实现,但以下示例是最常见的:
 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
 
注意,存在包含字符 "..." 的行。这些行指示此异常的椎栈跟踪的其余部分匹配来自异常(由 "enclosing" 异常引起)的堆栈跟踪底部的指定数量的帧。这种简便方法可以大大缩短通常情况下的输出长度,这里抛出了包装的异常,其方法与捕获“作为 cause 的异常”的方法相同。上述示例通过运行以下程序生成:
 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 {
 }
 

覆盖:
Throwable 中的 printStackTrace

printStackTrace

public void printStackTrace(PrintWriter s)
从类 Throwable 复制的描述
将此 throwable 及其追踪输出到指定的 PrintWriter。

覆盖:
Throwable 中的 printStackTrace
参数:
s - 用于输出的 PrintWriter

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策